### Nuprl Lemma : decidable-bar-rec-equal-spector

`∀[dec,base,ind:Top]. ∀[n:ℕ]. ∀[s:Top].`
`  (decidable-bar-rec(dec;base;ind;n;s) ~ spector-bar-rec(λn,s. if dec n s then 0 else n + 1 fi ;λn,s. case dec n s`
`                                                                                                  of inl(r) =>`
`                                                                                                  base n s r`
`                                                                                                  | inr(x) =>`
`                                                                                                  ⊥;ind;n;s))`

Proof

Definitions occuring in Statement :  decidable-bar-rec: `decidable-bar-rec(dec;base;ind;n;s)` spector-bar-rec: `spector-bar-rec(Y;G;H;n;s)` nat: `ℕ` bottom: `⊥` ifthenelse: `if b then t else f fi ` uall: `∀[x:A]. B[x]` top: `Top` apply: `f a` lambda: `λx.A[x]` decide: `case b of inl(x) => s[x] | inr(y) => t[y]` add: `n + m` natural_number: `\$n` sqequal: `s ~ t`
Definitions unfolded in proof :  member: `t ∈ T` uall: `∀[x:A]. B[x]` spector-bar-rec: `spector-bar-rec(Y;G;H;n;s)` decidable-bar-rec: `decidable-bar-rec(dec;base;ind;n;s)` nat: `ℕ` implies: `P `` Q` false: `False` ge: `i ≥ j ` uimplies: `b supposing a` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` not: `¬A` all: `∀x:A. B[x]` top: `Top` and: `P ∧ Q` prop: `ℙ` decidable: `Dec(P)` or: `P ∨ Q` nat_plus: `ℕ+` subtype_rel: `A ⊆r B` so_lambda: `λ2x.t[x]` so_apply: `x[s]` has-value: `(a)↓` ifthenelse: `if b then t else f fi ` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` bfalse: `ff` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` le_int: `i ≤z j` lt_int: `i <z j` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` squash: `↓T` true: `True` less_than': `less_than'(a;b)` less_than: `a < b`
Lemmas referenced :  istype-top nat_wf nat_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf base_wf fun_exp0_lemma strictness-apply bottom-sqle decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma fun_exp_unroll_1 has-value_wf_base int_subtype_base set_subtype_base le_wf is-exception_wf top_wf equal_wf le_int_wf bool_wf eqtt_to_assert assert_of_le_int eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot itermAdd_wf int_term_value_add_lemma subtract-1-ge-0 istype-base istype-less_than istype-void istype-int full-omega-unsat int-value-type union-value-type value-type-has-value assert_wf iff_weakening_uiff assert_of_lt_int lt_int_wf 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 fixpointLeast setElimination rename intWeakElimination lambdaFormation natural_numberEquality independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll independent_functionElimination axiomSqleEquality unionElimination dependent_set_memberEquality because_Cache divergentSqle baseApply closedConclusion baseClosed applyEquality callbyvalueDecide equalityTransitivity equalitySymmetry unionEquality equalityElimination productElimination sqleReflexivity promote_hyp instantiate cumulativity addEquality sqleRule decideExceptionCases Error :lambdaEquality_alt,  exceptionLess exceptionSqequal Error :dependent_set_memberEquality_alt,  Error :functionIsTypeImplies,  Error :dependent_pairFormation_alt,  approximateComputation Error :lambdaFormation_alt,  callbyvalueLess Error :equalityIsType1,  Error :equalityIsType2,  imageElimination imageMemberEquality lessCases lessExceptionCases

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

Date html generated: 2019_06_20-PM-03_06_04
Last ObjectModification: 2019_03_27-PM-03_15_35

Theory : continuity

Home Index