Nuprl Lemma : howard-bar-rec-equal-spector

[M,mon,base,ind:Top]. ∀[n:ℕ]. ∀[s:Top].
  (howard-bar-rec(M;mon;base;ind;n;s) spector-bar-rec(λn,s. if then else fi n,s. case s
                                                                                               of inl(x) =>
                                                                                               let k,p 
                                                                                               in base (mon p)
                                                                                               inr(x) =>
                                                                                               ⊥;ind;n;s))


Proof




Definitions occuring in Statement :  howard-bar-rec: howard-bar-rec(M;mon;base;ind;n;s) spector-bar-rec: spector-bar-rec(Y;G;H;n;s) nat: bottom: ifthenelse: if then else fi  uall: [x:A]. B[x] top: Top apply: a lambda: λx.A[x] spread: spread def decide: case of inl(x) => s[x] inr(y) => t[y] add: m natural_number: $n sqequal: t
Definitions unfolded in proof :  member: t ∈ T uall: [x:A]. B[x] howard-bar-rec: howard-bar-rec(M;mon;base;ind;n;s) spector-bar-rec: spector-bar-rec(Y;G;H;n;s) nat_plus: + prop: and: P ∧ Q top: Top all: x:A. B[x] exists: x:A. B[x] satisfiable_int_formula: satisfiable_int_formula(fmla) not: ¬A uimplies: supposing a ge: i ≥  false: False implies:  Q nat: so_apply: x[s] so_lambda: λ2x.t[x] subtype_rel: A ⊆B ifthenelse: if then else fi  has-value: (a)↓ iff: ⇐⇒ Q rev_implies:  Q assert: b bnot: ¬bb guard: {T} sq_type: SQType(T) or: P ∨ Q bfalse: ff uiff: uiff(P;Q) btrue: tt it: unit: Unit bool: 𝔹 decidable: Dec(P) lt_int: i <j le_int: i ≤j squash: T true: True less_than': less_than'(a;b) less_than: a < b
Lemmas referenced :  top_wf nat_wf fun_exp_unroll_1 subtract-1-ge-0 base_wf bottom-sqle strictness-apply fun_exp0_lemma less_than_wf ge_wf int_formula_prop_wf int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma istype-void int_formula_prop_and_lemma istype-int intformless_wf itermVar_wf itermConstant_wf intformle_wf intformand_wf full-omega-unsat nat_properties is-exception_wf le_wf set_subtype_base int_subtype_base has-value_wf_base int_formula_prop_not_lemma intformnot_wf assert_wf iff_weakening_uiff assert-bnot bool_wf subtype_base_sq bool_cases_sqequal bool_subtype_base eqff_to_assert assert_of_le_int eqtt_to_assert le_int_wf int_term_value_add_lemma itermAdd_wf iff_weakening_equal false_wf iff_functionality_wrt_iff bfalse_wf iff_imp_equal_bool decidable__le int-value-type union-value-type value-type-has-value assert_of_lt_int lt_int_wf istype-less_than not-exception-has-value set-value-type
Rules used in proof :  extract_by_obid Error :universeIsType,  Error :isectIsTypeImplies,  isectElimination Error :isect_memberEquality_alt,  hypothesisEquality Error :inhabitedIsType,  axiomSqEquality hypothesis sqequalHypSubstitution sqequalSqle thin sqequalRule cut introduction Error :isect_memberFormation_alt,  sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution because_Cache Error :dependent_set_memberEquality_alt,  Error :functionIsTypeImplies,  axiomSqleEquality independent_pairFormation voidElimination dependent_functionElimination int_eqEquality Error :lambdaEquality_alt,  Error :dependent_pairFormation_alt,  independent_functionElimination approximateComputation independent_isectElimination natural_numberEquality Error :lambdaFormation_alt,  intWeakElimination rename setElimination fixpointLeast intEquality applyEquality baseClosed closedConclusion baseApply divergentSqle Error :equalityIsType1,  unionElimination equalitySymmetry equalityTransitivity callbyvalueDecide cumulativity instantiate promote_hyp Error :equalityIsType4,  sqleReflexivity productElimination equalityElimination addEquality sqleRule decideExceptionCases exceptionSqequal exceptionLess callbyvalueLess unionEquality imageElimination imageMemberEquality lessCases lessExceptionCases Error :equalityIsType2

Latex:
\mforall{}[M,mon,base,ind:Top].  \mforall{}[n:\mBbbN{}].  \mforall{}[s:Top].
    (howard-bar-rec(M;mon;base;ind;n;s) 
    \msim{}  spector-bar-rec(\mlambda{}n,s.  if  M  n  s  then  0  else  n  +  1  fi  ;\mlambda{}n,s.  case  M  n  s
                                                                                                                      of  inl(x)  =>
                                                                                                                      let  k,p  =  x 
                                                                                                                      in  base  n  s  (mon  n  k  s  p)
                                                                                                                      |  inr(x)  =>
                                                                                                                      \mbot{};ind;n;s))



Date html generated: 2019_06_20-PM-03_07_00
Last ObjectModification: 2019_02_01-PM-05_19_38

Theory : continuity


Home Index