Nuprl Lemma : bind-provision-cubical-context-equations
(∀[x:CubicalContext]. ∀[f:CubicalContext ⟶ ?CubicalContext].  (bind-provision(OK(x);u.f u) = (f x) ∈ ?CubicalContext))
∧ (∀[m:?CubicalContext]. (bind-provision(m;u.OK(u)) = m ∈ ?CubicalContext))
∧ (∀[m:?CubicalContext]. ∀[f,g:CubicalContext ⟶ ?CubicalContext].
     (bind-provision(bind-provision(m;u.f u);u.g u) = bind-provision(m;u.bind-provision(f u;u.g u)) ∈ ?CubicalContext))
Proof
Definitions occuring in Statement : 
cubical-context: ?CubicalContext
, 
cubical_context: CubicalContext
, 
uall: ∀[x:A]. B[x]
, 
and: P ∧ Q
, 
true: True
, 
apply: f a
, 
function: x:A ⟶ B[x]
, 
equal: s = t ∈ T
, 
bind-provision: bind-provision(x;t.f[t])
, 
provision: provision(ok; v)
Definitions unfolded in proof : 
provisional-monad: provisional-monad{i:l}()
, 
monad: Monad
, 
mk_monad: mk_monad(M;return;bind)
, 
member: t ∈ T
, 
pi2: snd(t)
, 
pi1: fst(t)
, 
uall: ∀[x:A]. B[x]
, 
subtype_rel: A ⊆r B
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
prop: ℙ
, 
uimplies: b supposing a
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
and: P ∧ Q
, 
cubical-context: ?CubicalContext
Lemmas referenced : 
provisional-monad_wf, 
pi1_wf_top, 
provisional-type_wf, 
istype-universe, 
pi2_wf, 
equal_wf, 
bind-provision_wf, 
provision_wf, 
true_wf, 
squash_wf, 
cubical_context_wf
Rules used in proof : 
cut, 
instantiate, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
applyLambdaEquality, 
productElimination, 
thin, 
sqequalRule, 
hypothesisEquality, 
hypothesis, 
isectElimination, 
functionEquality, 
universeEquality, 
independent_pairEquality, 
Error :memTop, 
isect_memberEquality_alt, 
applyEquality, 
lambdaEquality_alt, 
equalityTransitivity, 
equalitySymmetry, 
isectIsType, 
inhabitedIsType, 
functionIsType, 
universeIsType, 
lambdaFormation_alt, 
equalityIstype, 
dependent_functionElimination, 
independent_functionElimination, 
because_Cache, 
isectEquality, 
cumulativity, 
productEquality, 
independent_pairFormation
Latex:
(\mforall{}[x:CubicalContext].  \mforall{}[f:CubicalContext  {}\mrightarrow{}  ?CubicalContext].
      (bind-provision(OK(x);u.f  u)  =  (f  x)))
\mwedge{}  (\mforall{}[m:?CubicalContext].  (bind-provision(m;u.OK(u))  =  m))
\mwedge{}  (\mforall{}[m:?CubicalContext].  \mforall{}[f,g:CubicalContext  {}\mrightarrow{}  ?CubicalContext].
          (bind-provision(bind-provision(m;u.f  u);u.g  u)
          =  bind-provision(m;u.bind-provision(f  u;u.g  u))))
Date html generated:
2020_05_20-PM-08_04_41
Last ObjectModification:
2020_05_17-PM-10_28_49
Theory : cubical!type!theory
Home
Index