Nuprl Lemma : case-type-comp_wf

∀[Gamma:j⊢]. ∀[phi,psi:{Gamma ⊢ _:𝔽}]. ∀[A:{Gamma, phi ⊢ _}]. ∀[B:{Gamma, psi ⊢ _}]. ∀[cA:Gamma, phi ⊢ Compositon(A)].
∀[cB:Gamma, psi ⊢ Compositon(B)].
  (case-type-comp(Gamma; phi; psi; A; B; cA; cB) ∈ Gamma, (phi ∨ psi) ⊢ Compositon((if phi then A else B))) supposing 
     (compatible-composition{j:l, i:l}(Gamma; phi; psi; A; B; cA; cB) and 
     Gamma, (phi ∧ psi) ⊢ A = B)


Proof




Definitions occuring in Statement :  case-type-comp: case-type-comp(G; phi; psi; A; B; cA; cB),  compatible-composition: compatible-composition{j:l, i:l}(Gamma; phi; psi; A; B; cA; cB),  composition-structure: Gamma ⊢ Compositon(A),  case-type: (if phi then A else B),  same-cubical-type: Gamma ⊢ A = 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: b supposing a,  uall: ∀[x:A]. B[x],  member: t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  uimplies: b supposing a,  member: t ∈ T,  composition-structure: Gamma ⊢ Compositon(A),  uniform-comp-function: uniform-comp-function{j:l, i:l}(Gamma; A; comp),  all: ∀x:A. B[x],  constrained-cubical-term: {Gamma ⊢ _:A[phi |⟶ t]},  subtype_rel: A ⊆r B,  csm-id-adjoin: [u],  csm-id: 1(X),  implies: P ⇒ Q,  guard: {T},  prop: ℙ,  composition-function: composition-function{j:l,i:l}(Gamma;A),  case-type-comp: case-type-comp(G; phi; psi; A; B; cA; cB),  face-term-implies: Gamma ⊢ (phi ⇒ psi),  context-subset: Gamma, phi,  bdd-distributive-lattice: BoundedDistributiveLattice,  so_lambda: λ2x.t[x],  and: P ∧ Q,  so_apply: x[s],  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 b then t else f fi ,  eq_atom: x =a y,  bfalse: ff,  btrue: tt,  same-cubical-type: Gamma ⊢ A = B,  cand: A c∧ B,  cubical-type: {X ⊢ _},  csm-ap-type: (AF)s,  interval-0: 0(𝕀),  csm-ap-term: (t)s,  csm-adjoin: (s;u),  csm-ap: (s)x,  squash: ↓T,  interval-type: 𝕀,  csm+: tau+,  csm-comp: G o F,  cc-snd: q,  cc-fst: p,  compose: f o g,  true: True,  interval-1: 1(𝕀),  case-type: (if phi then A else B),  cubical-term-at: u(a),  pi2: snd(t),  case-term: (u ∨ v),  case-cube: case-cube(phi;A;B;I;rho),  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  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,  face-1: 1(𝔽),  lattice-1: 1,  fset-singleton: {x},  cons: [a / b],  respects-equality: respects-equality(S;T)
Lemmas referenced :  case-type_wf,  case-type-comp_wf1,  constrained-cubical-term_wf,  csm-ap-type_wf,  cube-context-adjoin_wf,  interval-type_wf,  context-subset_wf,  face-or_wf,  csm-id-adjoin_wf-interval-0,  cubical-type-cumulativity2,  cubical_set_cumulativity-i-j,  csm-ap-term_wf,  thin-context-subset-adjoin,  istype-cubical-term,  face-type_wf,  cube_set_map_wf,  uniform-comp-function_wf,  compatible-composition_wf,  same-cubical-type_wf,  face-and_wf,  subset-cubical-type,  face-term-implies-subset,  face-term-and-implies1,  face-term-and-implies2,  composition-structure_wf,  cubical-type_wf,  cubical_set_wf,  I_cube_wf,  fset_wf,  nat_wf,  cubical-term-equal,  subtype_rel_self,  cubical-term-eqcd,  csm-id-adjoin_wf-interval-1,  csm-case-term,  csm-case-type,  csm-face-or,  csm-face-term-implies,  face-1_wf,  subset-cubical-term,  context-subset-is-subset,  I_cube_pair_redex_lemma,  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,  equal_wf,  lattice-meet_wf,  lattice-join_wf,  cubical-term-at_wf,  lattice-1_wf,  csm-face-1,  face-forall_wf,  csm-face-type,  csm-same-cubical-type,  context-subset-subtype-and,  context-subset-subtype-and2,  csm-face-and,  context-subset-map,  cube_set_map_subtype3,  sub_cubical_set_self,  sub_cubical_set_functionality,  context-iterated-subset1,  case-type-same1,  sub_cubical_set_transitivity,  context-iterated-subset2,  cc-fst_wf_interval,  context-adjoin-subset2,  face-forall-implies,  csm-id-adjoin_wf,  interval-0_wf,  face-forall-implies-0,  sub_cubical_set_functionality2,  thin-context-subset,  context-subset-swap,  squash_wf,  true_wf,  csm-face-forall,  csm-comp_wf,  csm+_wf_interval,  face-forall-map,  context-subset-term-subtype,  case-type-same2,  cubical_type_ap_morph_pair_lemma,  cubical_type_at_pair_lemma,  csm+_wf,  subtype_rel-equal,  cubical-term_wf,  csm-interval-type,  istype-universe,  iff_weakening_equal,  face-type-at,  fl-eq_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,  face-forall-implies-1,  iff_imp_equal_bool,  btrue_wf,  iff_functionality_wrt_iff,  istype-true,  face-term-implies_wf,  face-forall-or,  implies-face-forall-holds,  face-or-eq-1,  csm-comp-term,  subset-cubical-term2,  subtype-respects-equality,  cubical-type-at_wf,  interval-1_wf,  face-and-eq-1,  csm-context-subset-subtype2
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  because_Cache,  hypothesisEquality,  independent_isectElimination,  hypothesis,  dependent_set_memberEquality_alt,  equalityTransitivity,  equalitySymmetry,  lambdaFormation_alt,  universeIsType,  instantiate,  applyEquality,  sqequalRule,  inhabitedIsType,  equalityIstype,  dependent_functionElimination,  independent_functionElimination,  functionExtensionality,  rename,  promote_hyp,  functionEquality,  lambdaEquality_alt,  cumulativity,  universeEquality,  setElimination,  Error :memTop,  productEquality,  isectEquality,  independent_pairFormation,  hyp_replacement,  productElimination,  applyLambdaEquality,  imageElimination,  natural_numberEquality,  imageMemberEquality,  baseClosed,  unionElimination,  equalityElimination,  dependent_pairFormation_alt,  voidElimination

Latex:
\mforall{}[Gamma:j\mvdash{}].  \mforall{}[phi,psi:\{Gamma  \mvdash{}  \_:\mBbbF{}\}].  \mforall{}[A:\{Gamma,  phi  \mvdash{}  \_\}].  \mforall{}[B:\{Gamma,  psi  \mvdash{}  \_\}].
\mforall{}[cA:Gamma,  phi  \mvdash{}  Compositon(A)].  \mforall{}[cB:Gamma,  psi  \mvdash{}  Compositon(B)].
    (case-type-comp(Gamma;  phi;  psi;  A;  B;  cA;  cB)
      \mmember{}  Gamma,  (phi  \mvee{}  psi)  \mvdash{}  Compositon((if  phi  then  A  else  B)))  supposing 
          (compatible-composition\{j:l,  i:l\}(Gamma;  phi;  psi;  A;  B;  cA;  cB)  and 
          Gamma,  (phi  \mwedge{}  psi)  \mvdash{}  A  =  B)



Date html generated: 2020_05_20-PM-05_18_25
Last ObjectModification: 2020_04_18-PM-07_36_16

Theory : cubical!type!theory


Home Index