Nuprl Lemma : composition-type-lemma4

∀Gamma:j⊢. ∀phi:{Gamma ⊢ _:𝔽}. ∀A:{Gamma.𝕀 ⊢ _}. ∀u:{Gamma, phi.𝕀 ⊢ _:A}. ∀I,J:fset(ℕ). ∀f:J ⟶ I. ∀rho:Gamma(I).
∀K:fset(ℕ). ∀g:J,phi(f(rho))(K).
  ((u)<(s(f(rho));<new-name(J)>)> o iota((new-name(J)0) ⋅ g)
  = ((u)<(s(rho);<new-name(I)>)> o iota)subset-trans(I+new-name(I);J+new-name(J);f,new-name(I)=new-name(J);
                                                     s(phi(rho)))((new-name(J)0) ⋅ g)
  ∈ A(g((new-name(J)0)((s(f(rho));<new-name(J)>)))))


Proof




Definitions occuring in Statement :  context-subset: Gamma, phi,  face-type: 𝔽,  interval-type: 𝕀,  cc-adjoin-cube: (v;u),  cube-context-adjoin: X.A,  csm-ap-term: (t)s,  cubical-term-at: u(a),  cubical-term: {X ⊢ _:A},  cubical-type-at: A(a),  cubical-type: {X ⊢ _},  subset-trans: subset-trans(I;J;f;x),  subset-iota: iota,  cubical-subset: I,psi,  face-presheaf: 𝔽,  csm-comp: G o F,  context-map: <rho>,  formal-cube: formal-cube(I),  cube-set-restriction: f(s),  I_cube: A(I),  cubical_set: CubicalSet,  nc-e': g,i=j,  nc-0: (i0),  nc-s: s,  new-name: new-name(I),  add-name: I+i,  nh-comp: g ⋅ f,  names-hom: I ⟶ J,  dM_inc: <x>,  fset: fset(T),  nat: ℕ,  all: ∀x:A. B[x],  equal: s = t ∈ T
Definitions unfolded in proof :  all: ∀x:A. B[x],  member: t ∈ T,  uall: ∀[x:A]. B[x],  subtype_rel: A ⊆r B,  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,  guard: {T},  uimplies: b supposing a,  squash: ↓T,  prop: ℙ,  true: True,  subset-iota: iota,  csm-comp: G o F,  csm-ap: (s)x,  compose: f o g,  context-map: <rho>,  functor-arrow: arrow(F),  cube-context-adjoin: X.A,  cc-adjoin-cube: (v;u),  pi2: snd(t),  implies: P ⇒ Q,  interval-presheaf: 𝕀,  DeMorgan-algebra: DeMorganAlgebra,  so_lambda: λ2x.t[x],  and: P ∧ Q,  so_apply: x[s],  nat: ℕ,  ge: i ≥ j ,  decidable: Dec(P),  or: P ∨ Q,  not: ¬A,  satisfiable_int_formula: satisfiable_int_formula(fmla),  exists: ∃x:A. B[x],  false: False,  names: names(I),  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  nc-0: (i0),  sq_type: SQType(T),  name-morph-satisfies: (psi f) = 1,  bdd-distributive-lattice: BoundedDistributiveLattice,  bounded-lattice-hom: Hom(l1;l2),  lattice-hom: Hom(l1;l2)
Lemmas referenced :  composition-type-lemma3,  context-subset-adjoin-subtype,  interval-type_wf,  I_cube_wf,  cubical-subset_wf,  cubical-term-at_wf,  face-type_wf,  cube-set-restriction_wf,  subtype_rel_self,  face-presheaf_wf2,  names-hom_wf,  fset_wf,  nat_wf,  cubical-term_wf,  cube-context-adjoin_wf,  context-subset_wf,  cubical_set_cumulativity-i-j,  cubical-type-cumulativity2,  subtype_rel_transitivity,  cubical-type_wf,  cubical_set_wf,  csm-ap-type-at,  cubical-type-at_wf,  squash_wf,  true_wf,  cc-adjoin-cube-restriction,  interval-type-ap-morph,  cc-adjoin-cube_wf,  istype-cubical-type-at,  new-name_wf,  cubical-subset-I_cube,  cube-set-restriction-comp,  add-name_wf,  nc-0_wf,  nc-s_wf,  f-subset-add-name,  interval-type-at,  I_cube_pair_redex_lemma,  lattice-point_wf,  dM_wf,  subtype_rel_set,  DeMorgan-algebra-structure_wf,  lattice-structure_wf,  lattice-axioms_wf,  bounded-lattice-structure-subtype,  DeMorgan-algebra-structure-subtype,  bounded-lattice-structure_wf,  bounded-lattice-axioms_wf,  equal_wf,  lattice-meet_wf,  lattice-join_wf,  DeMorgan-algebra-axioms_wf,  nat_properties,  decidable__le,  full-omega-unsat,  intformand_wf,  intformnot_wf,  intformle_wf,  itermConstant_wf,  itermVar_wf,  istype-int,  int_formula_prop_and_lemma,  int_formula_prop_not_lemma,  int_formula_prop_le_lemma,  int_term_value_constant_lemma,  int_term_value_var_lemma,  int_formula_prop_wf,  istype-le,  nh-comp_wf,  trivial-member-add-name1,  fset-member_wf,  int-deq_wf,  strong-subtype-deq-subtype,  strong-subtype-set3,  le_wf,  strong-subtype-self,  dM-lift_wf2,  istype-universe,  dM-lift-inc,  iff_weakening_equal,  nh-comp-sq,  dM0-sq-empty,  subtype_base_sq,  bool_wf,  bool_subtype_base,  eq_int_eq_true_intro,  btrue_wf,  dM0_wf,  dM-lift-0,  csm-ap-type_wf,  csm-comp_wf,  formal-cube_wf1,  subset-iota_wf,  context-map_wf,  dM_inc_wf,  name-morph-satisfies_wf,  face-type-at,  face_lattice_wf,  fl-morph_wf,  lattice-1_wf,  cube_set_restriction_pair_lemma,  nh-id-right,  fl-morph-comp2,  nh-comp-assoc,  s-comp-nc-0
Rules used in proof :  cut,  introduction,  extract_by_obid,  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  lambdaFormation_alt,  hypothesis,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  hypothesisEquality,  isectElimination,  applyLambdaEquality,  universeIsType,  instantiate,  applyEquality,  sqequalRule,  inhabitedIsType,  cumulativity,  because_Cache,  independent_isectElimination,  equalityTransitivity,  equalitySymmetry,  lambdaEquality_alt,  hyp_replacement,  Error :memTop,  imageElimination,  natural_numberEquality,  imageMemberEquality,  baseClosed,  setElimination,  rename,  equalityIstype,  independent_functionElimination,  productEquality,  isectEquality,  dependent_set_memberEquality_alt,  unionElimination,  approximateComputation,  dependent_pairFormation_alt,  int_eqEquality,  independent_pairFormation,  voidElimination,  intEquality,  universeEquality,  productElimination

Latex:
\mforall{}Gamma:j\mvdash{}.  \mforall{}phi:\{Gamma  \mvdash{}  \_:\mBbbF{}\}.  \mforall{}A:\{Gamma.\mBbbI{}  \mvdash{}  \_\}.  \mforall{}u:\{Gamma,  phi.\mBbbI{}  \mvdash{}  \_:A\}.  \mforall{}I,J:fset(\mBbbN{}).  \mforall{}f:J  {}\mrightarrow{}  I.
\mforall{}rho:Gamma(I).  \mforall{}K:fset(\mBbbN{}).  \mforall{}g:J,phi(f(rho))(K).
    ((u)<(s(f(rho));<new-name(J)>)>  o  iota((new-name(J)0)  \mcdot{}  g)
    =  ((u)<(s(rho);<new-name(I)>)>  o  iota)subset-trans(I+new-name(I);J+new-name(J);
                                                                                                          f,new-name(I)=new-name(J);
                                                                                                          s(phi(rho)))((new-name(J)0)  \mcdot{}  g))



Date html generated: 2020_05_20-PM-04_09_29
Last ObjectModification: 2020_04_11-PM-06_37_25

Theory : cubical!type!theory


Home Index