Nuprl Lemma : case-type-same1

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


Proof




Definitions occuring in Statement :  case-type: (if phi then else B) same-cubical-type: Gamma ⊢ B context-subset: Gamma, phi face-type: 𝔽 cubical-term: {X ⊢ _:A} cubical-type: {X ⊢ _} cubical_set: CubicalSet uall: [x:A]. B[x]
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T same-cubical-type: Gamma ⊢ B uimplies: supposing a case-type: (if phi then else B) context-subset: Gamma, phi all: x:A. B[x] case-cube: case-cube(phi;A;B;I;rho) subtype_rel: A ⊆B implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q ifthenelse: if then else fi  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] eq_atom: =a y bfalse: ff bdd-distributive-lattice: BoundedDistributiveLattice so_lambda: λ2x.t[x] prop: so_apply: x[s] exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False not: ¬A rev_implies:  Q iff: ⇐⇒ Q true: True respects-equality: respects-equality(S;T) squash: T cubical-type: {X ⊢ _}
Lemmas referenced :  cubical-type-equal cubical-type_wf context-subset_wf cubical-term_wf face-type_wf cubical_set_wf I_cube_pair_redex_lemma I_cube_wf fset_wf nat_wf fl-eq_wf cubical-term-at_wf lattice-1_wf face_lattice_wf eqtt_to_assert assert-fl-eq subtype_rel_self lattice-point_wf subtype_rel_set bounded-lattice-structure_wf lattice-structure_wf lattice-axioms_wf bounded-lattice-structure-subtype bounded-lattice-axioms_wf equal_wf lattice-meet_wf lattice-join_wf cubical-type-at_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf names-hom_wf iff_imp_equal_bool btrue_wf iff_functionality_wrt_iff true_wf iff_weakening_equal istype-true subset-cubical-term context-subset-is-subset cube-set-restriction_wf face-type-at respects-equality_weakening squash_wf istype-universe face-term-at-restriction-eq-1 cubical-type-ap-morph_wf cubical_set_cumulativity-i-j cubical-type-cumulativity2 istype-cubical-type-at cubical_type_ap_morph_pair_lemma cubical_type_at_pair_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut equalitySymmetry extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality independent_isectElimination hypothesis sqequalRule axiomEquality universeIsType isect_memberEquality_alt isectIsTypeImplies inhabitedIsType instantiate dependent_pairEquality_alt lambdaEquality_alt dependent_functionElimination Error :memTop,  setElimination rename equalityTransitivity applyEquality because_Cache lambdaFormation_alt unionElimination equalityElimination productElimination dependent_set_memberEquality_alt equalityIstype productEquality cumulativity isectEquality dependent_pairFormation_alt promote_hyp independent_functionElimination voidElimination independent_pairFormation natural_numberEquality imageElimination universeEquality imageMemberEquality baseClosed functionIsType functionExtensionality

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



Date html generated: 2020_05_20-PM-03_08_33
Last ObjectModification: 2020_04_06-PM-00_52_14

Theory : cubical!type!theory


Home Index