Nuprl Lemma : pi-comp_wf1
∀[Gamma:j⊢]. ∀[A:{Gamma ⊢ _}]. ∀[B:{Gamma.A ⊢ _}]. ∀[cA:Gamma ⊢ CompOp(A)]. ∀[cB:Gamma.A ⊢ CompOp(B)].
  (pi-comp(Gamma;A;B;cA;cB) ∈ I:fset(ℕ)
   ⟶ i:{i:ℕ| ¬i ∈ I} 
   ⟶ rho:Gamma(I+i)
   ⟶ phi:𝔽(I)
   ⟶ mu:{I+i,s(phi) ⊢ _:(ΠA B)<rho> o iota}
   ⟶ lambda:cubical-path-0(Gamma;ΠA B;I;i;rho;phi;mu)
   ⟶ J:fset(ℕ)
   ⟶ f:J ⟶ I
   ⟶ u1:A(f((i1)(rho)))
   ⟶ let j = new-name(J) in
       let nu = pi-comp-nu(Gamma;A;cA;I;i;rho;J;f;u1;j) in
       cubical-path-1(Gamma.A;B;J;j;(f,i=j(rho);nu);f(phi);pi-comp-app(Gamma;A;I;i;rho;phi;mu;J;f;j;nu)))
Proof
Definitions occuring in Statement : 
pi-comp: pi-comp(Gamma;A;B;cA;cB), 
pi-comp-app: pi-comp-app(Gamma;A;I;i;rho;phi;mu;J;f;j;nu), 
pi-comp-nu: pi-comp-nu(Gamma;A;cA;I;i;rho;J;f;u1;j), 
composition-op: Gamma ⊢ CompOp(A), 
cubical-path-1: cubical-path-1(Gamma;A;I;i;rho;phi;u), 
cubical-path-0: cubical-path-0(Gamma;A;I;i;rho;phi;u), 
cubical-pi: ΠA B, 
cc-adjoin-cube: (v;u), 
cube-context-adjoin: X.A, 
cubical-term: {X ⊢ _:A}, 
csm-ap-type: (AF)s, 
cubical-type-at: A(a), 
cubical-type: {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-1: (i1), 
nc-s: s, 
new-name: new-name(I), 
add-name: I+i, 
names-hom: I ⟶ J, 
fset-member: a ∈ s, 
fset: fset(T), 
int-deq: IntDeq, 
nat: ℕ, 
let: let, 
uall: ∀[x:A]. B[x], 
not: ¬A, 
member: t ∈ T, 
set: {x:A| B[x]} , 
function: x:A ⟶ B[x]
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
pi-comp: pi-comp(Gamma;A;B;cA;cB), 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
has-value: (a)↓, 
subtype_rel: A ⊆r B, 
prop: ℙ, 
uimplies: b supposing a, 
so_lambda: λ2x.t[x], 
so_apply: x[s], 
nat: ℕ, 
let: let, 
composition-op: Gamma ⊢ CompOp(A), 
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, 
and: P ∧ Q
Lemmas referenced : 
new-name_wf, 
value-type-has-value, 
nat_wf, 
not_wf, 
fset-member_wf, 
int-deq_wf, 
set-value-type, 
istype-nat, 
le_wf, 
istype-int, 
int-value-type, 
cc-adjoin-cube_wf, 
add-name_wf, 
cube-set-restriction_wf, 
nc-e'_wf, 
pi-comp-nu_wf, 
subtype_rel-equal, 
cubical-type-at_wf, 
nc-r_wf, 
trivial-member-add-name1, 
nc-r'_wf, 
nat_properties, 
decidable__le, 
full-omega-unsat, 
intformand_wf, 
intformnot_wf, 
intformle_wf, 
itermConstant_wf, 
itermVar_wf, 
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, 
face-presheaf_wf2, 
pi-comp-app_wf, 
pi-comp-lambda_wf, 
cubical_set_cumulativity-i-j, 
cubical-type-cumulativity2, 
cube-context-adjoin_wf, 
nc-1_wf, 
names-hom_wf, 
cubical-path-0_wf, 
cubical-pi_wf, 
cubical-term_wf, 
cubical-subset_wf, 
nc-s_wf, 
f-subset-add-name, 
csm-ap-type_wf, 
cubical-type-cumulativity, 
csm-comp_wf, 
formal-cube_wf1, 
subset-iota_wf, 
context-map_wf, 
I_cube_wf, 
strong-subtype-deq-subtype, 
strong-subtype-set3, 
strong-subtype-self, 
fset_wf, 
composition-op_wf, 
cubical-type_wf, 
cubical_set_wf
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation_alt, 
introduction, 
cut, 
functionExtensionality, 
sqequalRule, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesisEquality, 
hypothesis, 
inhabitedIsType, 
lambdaFormation_alt, 
rename, 
callbyvalueReduce, 
setEquality, 
applyEquality, 
because_Cache, 
independent_isectElimination, 
lambdaEquality_alt, 
intEquality, 
natural_numberEquality, 
setElimination, 
dependent_functionElimination, 
dependent_set_memberEquality_alt, 
unionElimination, 
approximateComputation, 
independent_functionElimination, 
dependent_pairFormation_alt, 
int_eqEquality, 
Error :memTop, 
independent_pairFormation, 
universeIsType, 
voidElimination, 
instantiate, 
equalityIstype, 
equalityTransitivity, 
equalitySymmetry, 
axiomEquality, 
isect_memberEquality_alt, 
isectIsTypeImplies
Latex:
\mforall{}[Gamma:j\mvdash{}].  \mforall{}[A:\{Gamma  \mvdash{}  \_\}].  \mforall{}[B:\{Gamma.A  \mvdash{}  \_\}].  \mforall{}[cA:Gamma  \mvdash{}  CompOp(A)].
\mforall{}[cB:Gamma.A  \mvdash{}  CompOp(B)].
    (pi-comp(Gamma;A;B;cA;cB)  \mmember{}  I:fset(\mBbbN{})
      {}\mrightarrow{}  i:\{i:\mBbbN{}|  \mneg{}i  \mmember{}  I\} 
      {}\mrightarrow{}  rho:Gamma(I+i)
      {}\mrightarrow{}  phi:\mBbbF{}(I)
      {}\mrightarrow{}  mu:\{I+i,s(phi)  \mvdash{}  \_:(\mPi{}A  B)<rho>  o  iota\}
      {}\mrightarrow{}  lambda:cubical-path-0(Gamma;\mPi{}A  B;I;i;rho;phi;mu)
      {}\mrightarrow{}  J:fset(\mBbbN{})
      {}\mrightarrow{}  f:J  {}\mrightarrow{}  I
      {}\mrightarrow{}  u1:A(f((i1)(rho)))
      {}\mrightarrow{}  let  j  =  new-name(J)  in
              let  nu  =  pi-comp-nu(Gamma;A;cA;I;i;rho;J;f;u1;j)  in
              cubical-path-1(Gamma.A;B;J;j;(f,i=j(rho);nu);f(phi);
                                            pi-comp-app(Gamma;A;I;i;rho;phi;mu;J;f;j;nu)))
Date html generated:
2020_05_20-PM-03_59_40
Last ObjectModification:
2020_04_09-PM-08_18_05
Theory : cubical!type!theory
Home
Index