Nuprl Lemma : case-type_wf

[Gamma:j⊢]. ∀[phi,psi:{Gamma ⊢ _:𝔽}]. ∀[A:{Gamma, phi ⊢ _}]. ∀[B:{Gamma, psi ⊢ _}].
  Gamma, (phi ∨ psi) ⊢ (if phi then else B) supposing Gamma, (phi ∧ psi) ⊢ B


Proof




Definitions occuring in Statement :  case-type: (if phi then else B) same-cubical-type: Gamma ⊢ B context-subset: Gamma, phi face-or: (a ∨ b) face-and: (a ∧ b) face-type: 𝔽 cubical-term: {X ⊢ _:A} cubical-type: {X ⊢ _} cubical_set: CubicalSet uimplies: supposing a uall: [x:A]. B[x] member: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a cubical-type: {X ⊢ _} and: P ∧ Q all: x:A. B[x] subtype_rel: A ⊆B squash: T prop: true: True guard: {T} iff: ⇐⇒ Q rev_implies:  Q implies:  Q case-type: (if phi then else B) context-subset: Gamma, phi face-or: (a ∨ b) cubical-term-at: u(a) cubical-type-at: A(a) pi1: fst(t) face-type: 𝔽 constant-cubical-type: (X) I_cube: A(I) functor-ob: ob(F) face-presheaf: 𝔽 lattice-point: Point(l) record-select: r.x face_lattice: face_lattice(I) face-lattice: face-lattice(T;eq) free-dist-lattice-with-constraints: free-dist-lattice-with-constraints(T;eq;x.Cs[x]) constrained-antichain-lattice: constrained-antichain-lattice(T;eq;P) mk-bounded-distributive-lattice: mk-bounded-distributive-lattice mk-bounded-lattice: mk-bounded-lattice(T;m;j;z;o) record-update: r[x := v] ifthenelse: if then else fi  eq_atom: =a y bfalse: ff btrue: tt bdd-distributive-lattice: BoundedDistributiveLattice so_lambda: λ2x.t[x] so_apply: x[s] case-cube: case-cube(phi;A;B;I;rho) istype: istype(T) bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) bnot: ¬bb assert: b false: False not: ¬A respects-equality: respects-equality(S;T) face-and: (a ∧ b) rev_uimplies: rev_uimplies(P;Q) cand: c∧ B same-cubical-type: Gamma ⊢ B bounded-lattice-hom: Hom(l1;l2) lattice-hom: Hom(l1;l2) cube-set-restriction: f(s) pi2: snd(t)
Lemmas referenced :  fset_wf nat_wf I_cube_wf context-subset_wf face-or_wf nh-id_wf subtype_rel-equal cube-set-restriction_wf equal_wf squash_wf true_wf istype-universe cube-set-restriction-id subtype_rel_self iff_weakening_equal names-hom_wf nh-comp_wf cube-set-restriction-comp same-cubical-type_wf face-and_wf subset-cubical-type face-term-implies-subset face-term-and-implies1 face-term-and-implies2 cubical-type_wf istype-cubical-term face-type_wf cubical_set_wf case-cube_wf I_cube_pair_redex_lemma face_lattice-1-join-irreducible cubical-term-at_wf lattice-point_wf face_lattice_wf subtype_rel_set bounded-lattice-structure_wf lattice-structure_wf lattice-axioms_wf bounded-lattice-structure-subtype bounded-lattice-axioms_wf lattice-meet_wf lattice-join_wf face-type-at fl-eq_wf lattice-1_wf eqtt_to_assert assert-fl-eq eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf iff_imp_equal_bool btrue_wf iff_functionality_wrt_iff istype-true face-or-eq-1 respects-equality_weakening face-term-at-restriction-eq-1 cube_set_restriction_pair_lemma cubical-type-ap-morph_wf cubical_set_cumulativity-i-j cubical-type-cumulativity2 face-type-ap-morph fl-morph-1 cubical-term-at-morph istype-cubical-type-at cubical-type-at_wf_face-type lattice-meet-eq-1 bdd-distributive-lattice-subtype-bdd-lattice context-subset-restriction subtype_rel_wf cubical-type-at_wf cubical-type-ap-morph-id fl-morph_wf cubical-type-ap-morph-comp-general subset-I_cube context-subset-is-subset subtype_rel_weakening ext-eq_weakening
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut dependent_set_memberEquality_alt productElimination thin sqequalRule productIsType functionIsType universeIsType extract_by_obid sqequalHypSubstitution isectElimination hypothesis hypothesisEquality applyEquality equalityIstype because_Cache independent_isectElimination instantiate lambdaEquality_alt imageElimination equalityTransitivity equalitySymmetry universeEquality natural_numberEquality imageMemberEquality baseClosed independent_functionElimination dependent_functionElimination axiomEquality isect_memberEquality_alt isectIsTypeImplies inhabitedIsType dependent_pairEquality_alt Error :memTop,  setElimination rename productEquality cumulativity isectEquality lambdaFormation_alt unionElimination equalityElimination dependent_pairFormation_alt promote_hyp voidElimination independent_pairFormation hyp_replacement applyLambdaEquality sqequalIntensionalEquality

Latex:
\mforall{}[Gamma:j\mvdash{}].  \mforall{}[phi,psi:\{Gamma  \mvdash{}  \_:\mBbbF{}\}].  \mforall{}[A:\{Gamma,  phi  \mvdash{}  \_\}].  \mforall{}[B:\{Gamma,  psi  \mvdash{}  \_\}].
    Gamma,  (phi  \mvee{}  psi)  \mvdash{}  (if  phi  then  A  else  B)  supposing  Gamma,  (phi  \mwedge{}  psi)  \mvdash{}  A  =  B



Date html generated: 2020_05_20-PM-03_08_03
Last ObjectModification: 2020_04_19-PM-01_55_23

Theory : cubical!type!theory


Home Index