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: a function: x:A ⟶ B[x] equal: 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 ⊆B all: x:A. B[x] implies:  Q prop: uimplies: 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