Nuprl Lemma : prod-Leibniz-type

A,B:Type.  (Leibniz-type{i:l}(A)  Leibniz-type{i:l}(B)  Leibniz-type{i:l}(A × B))


Proof




Definitions occuring in Statement :  Leibniz-type: Leibniz-type{i:l}(T) all: x:A. B[x] implies:  Q product: x:A × B[x] universe: Type
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q Leibniz-type: Leibniz-type{i:l}(T) exists: x:A. B[x] and: P ∧ Q member: t ∈ T prop: or: P ∨ Q uall: [x:A]. B[x] top: Top so_lambda: λ2x.t[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) subtype_rel: A ⊆B iff: ⇐⇒ Q not: ¬A false: False rev_implies:  Q guard: {T}
Lemmas referenced :  pi1_wf_top istype-void pi2_wf subtype_rel_self Leibniz-type_wf istype-universe
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation_alt sqequalHypSubstitution productElimination thin dependent_pairFormation_alt lambdaEquality_alt sqequalRule unionEquality applyEquality hypothesisEquality cut introduction extract_by_obid isectElimination independent_pairEquality isect_memberEquality_alt voidElimination hypothesis universeIsType inhabitedIsType productIsType independent_pairFormation unionIsType because_Cache functionIsType instantiate equalityIstype cumulativity universeEquality unionElimination inlFormation_alt inrFormation_alt dependent_functionElimination independent_functionElimination applyLambdaEquality

Latex:
\mforall{}A,B:Type.    (Leibniz-type\{i:l\}(A)  {}\mRightarrow{}  Leibniz-type\{i:l\}(B)  {}\mRightarrow{}  Leibniz-type\{i:l\}(A  \mtimes{}  B))



Date html generated: 2019_10_31-AM-07_25_57
Last ObjectModification: 2019_09_19-PM-06_34_10

Theory : constructive!algebra


Home Index