lean2/tests/lean/run/univ1.lean

30 lines
650 B
Text
Raw Normal View History

import logic
namespace S1
axiom I : Type
definition F (X : Type) : Type := (X → Prop) → Prop
axiom unfoldd.{l} : I.{l} → F I.{l}
axiom foldd.{l} : F I.{l} → I.{l}
axiom iso1 : ∀x, foldd (unfoldd x) = x
end S1
namespace S2
universe u
axiom I : Type.{u}
definition F (X : Type) : Type := (X → Prop) → Prop
axiom unfoldd : I → F I
axiom foldd : F I → I
axiom iso1 : ∀x, foldd (unfoldd x) = x
end S2
namespace S3
section
hypothesis I : Type
definition F (X : Type) : Type := (X → Prop) → Prop
hypothesis unfoldd : I → F I
hypothesis foldd : F I → I
hypothesis iso1 : ∀x, foldd (unfoldd x) = x
end
end S3