Nuprl Lemma : case-type-same1

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


Proof




Definitions occuring in Statement :  case-type: (if phi then A else B),  same-cubical-type: Gamma ⊢ A = 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 ⊢ A = B,  uimplies: b supposing a,  case-type: (if phi then A else B),  context-subset: Gamma, phi,  all: ∀x:A. B[x],  case-cube: case-cube(phi;A;B;I;rho),  subtype_rel: A ⊆r B,  implies: P ⇒ Q,  bool: 𝔹,  unit: Unit,  it: ⋅,  btrue: tt,  uiff: uiff(P;Q),  and: P ∧ Q,  ifthenelse: if b then t else f 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: x =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: P ⇐ Q,  iff: P ⇐⇒ 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