Nuprl Lemma : strong-subtype-union

[A,B,C,D:Type].  (strong-subtype(A B;C D)) supposing (strong-subtype(B;D) and strong-subtype(A;C))


Proof




Definitions occuring in Statement :  strong-subtype: strong-subtype(A;B) uimplies: supposing a uall: [x:A]. B[x] union: left right universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a implies:  Q guard: {T} strong-subtype: strong-subtype(A;B) cand: c∧ B subtype_rel: A ⊆B exists: x:A. B[x] sq_type: SQType(T) all: x:A. B[x] true: True false: False so_lambda: λ2x.t[x] so_apply: x[s] prop:
Lemmas referenced :  strong-subtype-implies subtype_rel_union subtype_base_sq int_subtype_base subtype_rel_transitivity exists_wf equal_wf istype-universe strong-subtype_witness strong-subtype_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality independent_functionElimination hypothesis productElimination independent_isectElimination independent_pairFormation Error :lambdaEquality_alt,  setElimination rename unionElimination Error :inlEquality_alt,  sqequalRule applyLambdaEquality applyEquality promote_hyp natural_numberEquality instantiate cumulativity intEquality dependent_functionElimination equalityTransitivity equalitySymmetry voidElimination setEquality because_Cache Error :inrEquality_alt,  Error :setIsType,  Error :unionIsType,  Error :productIsType,  Error :equalityIsType1,  Error :inhabitedIsType,  unionEquality Error :universeIsType,  Error :isect_memberEquality_alt,  universeEquality lambdaEquality dependent_set_memberEquality dependent_pairFormation

Latex:
\mforall{}[A,B,C,D:Type].
    (strong-subtype(A  +  B;C  +  D))  supposing  (strong-subtype(B;D)  and  strong-subtype(A;C))



Date html generated: 2019_06_20-PM-00_27_59
Last ObjectModification: 2018_10_11-PM-04_13_33

Theory : subtype_1


Home Index