In Proofgold the corresponding term root is a9ede2... and proposition id is a56fc7...
Primitive. The name In is a term of type set → set → prop.
Notation. We use ∈ as an infix operator with priority 500 and no associativity corresponding to applying term In. Furthermore, we may write ∀ x ∈ A, B to mean ∀ x : set, x ∈ A → B.
Definition. We define Subq to be λA B ⇒ ∀x ∈ A, x∈B of type set → set → prop.
In Proofgold the corresponding term root is 81c0ef... and object id is 317007...
Notation. We use ⊆ as an infix operator with priority 500 and no associativity corresponding to applying term Subq. Furthermore, we may write ∀ x ⊆ A, B to mean ∀ x : set, x ⊆ A → B.
Notation. We use ∃ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex and handling ∈ or ⊆ ascriptions using and.
Definition. We define nIn to be λx X ⇒ ¬InxX of type set → set → prop.
In Proofgold the corresponding term root is 36808c... and object id is 253451...
Notation. We use ∉ as an infix operator with priority 502 and no associativity corresponding to applying term nIn.
In Proofgold the corresponding term root is 97a117... and proposition id is 17fce1...
Primitive. The name MetaFunctor is a term of type (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → set) → (set → set → set → set) → prop.
In Proofgold the corresponding term root is f35b67... and object id is c80743...
Axiom. (MetaFunctor_I) We take the following as an axiom:
∀C0 : set → prop, ∀C1 : set → set → set → prop, ∀idC : set → set, ∀compC : set → set → set → set → set → set, ∀D0 : set → prop, ∀D1 : set → set → set → prop, ∀idD : set → set, ∀compD : set → set → set → set → set → set, ∀F0 : set → set, ∀F1 : set → set → set → set, (∀X, C0X → D0(F0X)) → (∀X Y f, C0X → C0Y → C1XYf → D1(F0X)(F0Y)(F1XYf)) → (∀X, C0X → F1XX(idCX)=idD(F0X)) → (∀X Y Z f g, C0X → C0Y → C0Z → C1XYf → C1YZg → F1XZ(compCXYZgf)=compD(F0X)(F0Y)(F0Z)(F1YZg)(F1XYf)) → MetaFunctorC0C1idCcompCD0D1idDcompDF0F1
In Proofgold the corresponding term root is 795e29... and proposition id is 2cb62d...
In Proofgold the corresponding term root is 35386a... and proposition id is ac3641...
Primitive. The name MetaFunctor_strict is a term of type (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → set) → (set → set → set → set) → prop.
In Proofgold the corresponding term root is 8085cf... and object id is 070aeb...
∀C0 : set → prop, ∀C1 : set → set → set → prop, ∀idC : set → set, ∀compC : set → set → set → set → set → set, ∀D0 : set → prop, ∀D1 : set → set → set → prop, ∀idD : set → set, ∀compD : set → set → set → set → set → set, ∀F0 : set → set, ∀F1 : set → set → set → set, MetaCatC0C1idCcompC → MetaCatD0D1idDcompD → MetaFunctorC0C1idCcompCD0D1idDcompDF0F1 → MetaFunctor_strictC0C1idCcompCD0D1idDcompDF0F1
In Proofgold the corresponding term root is 3d0579... and proposition id is 5cbb4a...
Primitive. The name MetaNatTrans is a term of type (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → prop.
In Proofgold the corresponding term root is cf0ad1... and object id is 08be86...
Axiom. (MetaNatTrans_I) We take the following as an axiom:
∀C0 : set → prop, ∀C1 : set → set → set → prop, ∀idC : set → set, ∀compC : set → set → set → set → set → set, ∀D0 : set → prop, ∀D1 : set → set → set → prop, ∀idD : set → set, ∀compD : set → set → set → set → set → set, ∀F0 : set → set, ∀F1 : set → set → set → set, ∀G0 : set → set, ∀G1 : set → set → set → set, ∀eta : set → set, (∀X, C0X → D1(F0X)(G0X)(etaX)) → (∀X Y f, C0X → C0Y → C1XYf → compD(F0X)(G0X)(G0Y)(G1XYf)(etaX)=compD(F0X)(F0Y)(G0Y)(etaY)(F1XYf)) → MetaNatTransC0C1idCcompCD0D1idDcompDF0F1G0G1eta
In Proofgold the corresponding term root is 8286b8... and proposition id is c1d681...
Primitive. The name MetaAdjunction is a term of type (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → (set → set) → prop.
In Proofgold the corresponding term root is e8b6c4... and object id is bda632...
∀C0 : set → prop, ∀C1 : set → set → set → prop, ∀idC : set → set, ∀compC : set → set → set → set → set → set, ∀D0 : set → prop, ∀D1 : set → set → set → prop, ∀idD : set → set, ∀compD : set → set → set → set → set → set, ∀F0 : set → set, ∀F1 : set → set → set → set, ∀G0 : set → set, ∀G1 : set → set → set → set, ∀eta eps : set → set, (∀X, C0X → compD(F0X)(F0(G0(F0X)))(F0X)(eps(F0X))(F1X(G0(F0X))(etaX))=idD(F0X)) → (∀Y, D0Y → compC(G0Y)(G0(F0(G0Y)))(G0Y)(G1(F0(G0Y))Y(epsY))(eta(G0Y))=idC(G0Y)) → MetaAdjunctionC0C1idCcompCD0D1idDcompDF0F1G0G1etaeps
In Proofgold the corresponding term root is 1ed388... and proposition id is fd4945...
Primitive. The name MetaAdjunction_strict is a term of type (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → prop) → (set → set → set → prop) → (set → set) → (set → set → set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → (set → set → set → set) → (set → set) → (set → set) → prop.
In Proofgold the corresponding term root is c8ed7d... and object id is 3ab943...
∀C0 : set → prop, ∀C1 : set → set → set → prop, ∀idC : set → set, ∀compC : set → set → set → set → set → set, ∀D0 : set → prop, ∀D1 : set → set → set → prop, ∀idD : set → set, ∀compD : set → set → set → set → set → set, ∀F0 : set → set, ∀F1 : set → set → set → set, ∀G0 : set → set, ∀G1 : set → set → set → set, ∀eta eps : set → set, MetaFunctor_strictC0C1idCcompCD0D1idDcompDF0F1 → MetaFunctorD0D1idDcompDC0C1idCcompCG0G1 → MetaNatTransC0C1idCcompCC0C1idCcompC(λX : set ⇒ X)(λX Y f : set ⇒ f)(λX : set ⇒ G0(F0X))(λX Y f : set ⇒ G1(F0X)(F0Y)(F1XYf))eta → MetaNatTransD0D1idDcompDD0D1idDcompD(λA : set ⇒ F0(G0A))(λA B h : set ⇒ F1(G0A)(G0B)(G1ABh))(λA : set ⇒ A)(λA B h : set ⇒ h)eps → MetaAdjunctionC0C1idCcompCD0D1idDcompDF0F1G0G1etaeps → MetaAdjunction_strictC0C1idCcompCD0D1idDcompDF0F1G0G1etaeps
In Proofgold the corresponding term root is 712520... and proposition id is d6aa5e...
Definition. We define omega_iterate to be λn h x ⇒ nat_primrecx(λ_ r ⇒ hr)n of type set → (set → set) → set → set.
In Proofgold the corresponding term root is 6ba41b... and object id is 1319be...