Nuprl Lemma : discrete-cubical-term-is-constant-on-irr-face
Not every term of a discrete cubical type is constant, but when the
context is the formal-cube(I) -- Yoneda(I) -- then it is.⋅
∀[T:Type]. ∀[I:fset(ℕ)]. ∀[as,bs:fset(names(I))].
  ∀[t:{I,irr_face(I;as;bs) ⊢ _:discr(T)}]. (t = discr(t(irr-face-morph(I;as;bs))) ∈ {I,irr_face(I;as;bs) ⊢ _:discr(T)}) 
  supposing ↑fset-disjoint(NamesDeq;as;bs)
Proof
Definitions occuring in Statement : 
discrete-cubical-term: discr(t)
, 
discrete-cubical-type: discr(T)
, 
cubical-term-at: u(a)
, 
cubical-term: {X ⊢ _:A}
, 
cubical-subset: I,psi
, 
irr-face-morph: irr-face-morph(I;as;bs)
, 
irr_face: irr_face(I;as;bs)
, 
names-deq: NamesDeq
, 
names: names(I)
, 
fset-disjoint: fset-disjoint(eq;as;bs)
, 
fset: fset(T)
, 
nat: ℕ
, 
assert: ↑b
, 
uimplies: b supposing a
, 
uall: ∀[x:A]. B[x]
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
uimplies: b supposing a
, 
ext-eq: A ≡ B
, 
and: P ∧ Q
, 
prop: ℙ
, 
subtype_rel: A ⊆r B
, 
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
, 
I_cube: A(I)
, 
functor-ob: ob(F)
, 
pi1: fst(t)
, 
face-presheaf: 𝔽
, 
cubical-term-at: u(a)
, 
discrete-cubical-term: discr(t)
, 
implies: P 
⇒ Q
Lemmas referenced : 
discrete-cubical-term-is-map, 
irr-face-morph_wf, 
irr-face-morph-satisfies, 
name-morph-satisfies_wf, 
irr_face_wf, 
discrete-map-is-constant2, 
subtype_rel_self, 
I_cube_wf, 
face-presheaf_wf2, 
istype-cubical-term, 
cubical-subset_wf, 
discrete-cubical-type_wf, 
istype-assert, 
fset-disjoint_wf, 
names_wf, 
names-deq_wf, 
fset_wf, 
nat_wf, 
istype-universe, 
irr-face-morph-property, 
names-hom_wf
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation_alt, 
introduction, 
cut, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesisEquality, 
because_Cache, 
productElimination, 
dependent_set_memberEquality_alt, 
hypothesis, 
independent_isectElimination, 
universeIsType, 
instantiate, 
cumulativity, 
applyEquality, 
sqequalRule, 
equalityTransitivity, 
equalitySymmetry, 
isect_memberEquality_alt, 
axiomEquality, 
isectIsTypeImplies, 
inhabitedIsType, 
universeEquality, 
lambdaFormation_alt, 
independent_functionElimination
Latex:
\mforall{}[T:Type].  \mforall{}[I:fset(\mBbbN{})].  \mforall{}[as,bs:fset(names(I))].
    \mforall{}[t:\{I,irr\_face(I;as;bs)  \mvdash{}  \_:discr(T)\}].  (t  =  discr(t(irr-face-morph(I;as;bs)))) 
    supposing  \muparrow{}fset-disjoint(NamesDeq;as;bs)
Date html generated:
2020_05_20-PM-02_32_14
Last ObjectModification:
2020_04_20-PM-01_45_57
Theory : cubical!type!theory
Home
Index