Nuprl Lemma : per-union-elim

[A,B:Type].
  ∀x:per-union(A;B)
    per-or(uand(x inl outl(x);outl(x) ∈ supposing inl outl(x));uand(x inr outr(x) ;outr(x) ∈ 
                                                                                             supposing 
                                                                                             inr outr(x) ))


Proof




Definitions occuring in Statement :  per-union: per-union(A;B) per-or: per-or(A;B) uand: uand(A;B) outr: outr(x) outl: outl(x) uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T inr: inr  inl: inl x universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T per-or: per-or(A;B) per-exists: per-exists(A;a.B[a]) so_lambda: λ2x.t[x] so_apply: x[s] uand: uand(A;B) has-value: (a)↓ top: Top per-function: per-function(A;a.B[a]) function-eq: function-eq(A;a.B[a];f;g) uimplies: supposing a subtype_rel: A ⊆B sq_type: SQType(T) implies:  Q guard: {T} squash: T prop: true: True iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q per-union: per-union(A;B) outl: outl(x) outr: outr(x) false: False
Lemmas referenced :  per-union-elim1 per-product-elim per-value_wf has-value_wf_base is-exception_wf per-value-property istype-top istype-void per-union_wf istype-universe per-function_wf_type per-value_subtype_base subtype_base_sq base_wf subtype_rel_self per-union-implies-wf1 equal_wf squash_wf true_wf iff_weakening_equal per-union-implies-wf2 if-per-void uand_wf equal-wf-base per-void_wf member_wf member-per-or-left int_subtype_base istype-base member-per-or-right
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  Error :lambdaFormation_alt,  cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality dependent_functionElimination hypothesis sqequalRule baseClosed axiomSqleEquality divergentSqle sqleReflexivity because_Cache isaxiomCases promote_hyp axiomSqEquality Error :inhabitedIsType,  Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  voidElimination Error :universeIsType,  instantiate universeEquality pointwiseFunctionalityForEquality equalityTransitivity equalitySymmetry pertypeMemberEquality Error :equalityIstype,  sqequalBase axiomEquality baseApply closedConclusion applyEquality cumulativity independent_isectElimination independent_functionElimination functionExtensionality Error :lambdaEquality_alt,  imageElimination natural_numberEquality imageMemberEquality productElimination pointwiseFunctionality pertypeElimination isinlCases rename isectEquality isinrCases intEquality

Latex:
\mforall{}[A,B:Type].
    \mforall{}x:per-union(A;B)
        per-or(uand(x  \msim{}  inl  outl(x);outl(x)  \mmember{}  A  supposing  x  \msim{}  inl  outl(x));uand(x 
        \msim{}  inr  outr(x)  ;outr(x)  \mmember{}  B  supposing  x  \msim{}  inr  outr(x)  ))



Date html generated: 2019_06_20-AM-11_30_51
Last ObjectModification: 2019_01_22-AM-09_59_22

Theory : per!type


Home Index