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 else B))) supposing 
     (compatible-composition{j:l, i:l}(Gamma; phi; psi; A; B; cA; cB) and 
     Gamma, (phi ∧ psi) ⊢ 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 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] uimplies: 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 ⊆B csm-id-adjoin: [u] csm-id: 1(X) implies:  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 then else fi  eq_atom: =a y bfalse: ff btrue: tt same-cubical-type: Gamma ⊢ B cand: 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: F cc-snd: q cc-fst: p compose: g true: True interval-1: 1(𝕀) case-type: (if phi then else B) cubical-term-at: u(a) pi2: snd(t) case-term: (u ∨ v) case-cube: case-cube(phi;A;B;I;rho) iff: ⇐⇒ Q rev_implies:  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