### Nuprl Lemma : str-to-nat-to-str

`∀[n:ℕ]. (str-to-nat(nat-to-str(n)) = n ∈ ℤ)`

Proof

Definitions occuring in Statement :  str-to-nat: `str-to-nat(s)` nat-to-str: `nat-to-str(n)` nat: `ℕ` uall: `∀[x:A]. B[x]` int: `ℤ` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` member: `t ∈ T` 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` top: `Top` and: `P ∧ Q` prop: `ℙ` guard: `{T}` int_seg: `{i..j-}` lelt: `i ≤ j < k` decidable: `Dec(P)` or: `P ∨ Q` subtype_rel: `A ⊆r B` le: `A ≤ B` less_than': `less_than'(a;b)` nat-to-str: `nat-to-str(n)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` str-to-nat: `str-to-nat(s)` str-to-nat-plus: `str-to-nat-plus(s;n)` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` str1-to-nat: `str1-to-nat(a)` eq_atom: `x =a y` bfalse: `ff` sq_type: `SQType(T)` bnot: `¬bb` assert: `↑b` less_than: `a < b` int_nzero: `ℤ-o` true: `True` nequal: `a ≠ b ∈ T ` nat_plus: `ℕ+` squash: `↓T` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` so_lambda: `λ2x.t[x]` so_apply: `x[s]` append: `as @ bs`
Lemmas referenced :  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 int_seg_wf int_seg_properties decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma decidable__equal_int int_seg_subtype false_wf intformeq_wf int_formula_prop_eq_lemma le_wf eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int list_ind_cons_lemma list_ind_nil_lemma eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int nequal-le-implies decidable__lt lelt_wf itermAdd_wf int_term_value_add_lemma nat_wf div_rem_sum int_subtype_base equal-wf-base true_wf nequal_wf rem_bounds_1 add-is-int-iff multiply-is-int-iff itermMultiply_wf int_term_value_mul_lemma squash_wf iff_weakening_equal length_of_cons_lemma length_of_nil_lemma nat-to-str_wf divide_wf list_wf remainder_wf equal-wf-base-T list_subtype_base atom_subtype_base list_induction all_wf str-to-nat-plus_wf append_wf str1-to-nat_wf add_nat_wf str-to-nat_wf exp_wf2 length_wf_nat length-append str-to-nat-plus-property add_functionality_wrt_eq length_wf add-associates mul-distributes-right mul-associates mul-commutes mul-swap zero-mul add-zero zero-add add-commutes exp_add exp1
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation cut thin lambdaFormation introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll independent_functionElimination axiomEquality because_Cache productElimination unionElimination applyEquality equalityTransitivity equalitySymmetry applyLambdaEquality hypothesis_subsumption dependent_set_memberEquality equalityElimination promote_hyp instantiate cumulativity addEquality addLevel baseClosed imageMemberEquality divideEquality imageElimination pointwiseFunctionality baseApply closedConclusion universeEquality remainderEquality productEquality atomEquality multiplyEquality functionEquality equalityUniverse levelHypothesis

Latex:
\mforall{}[n:\mBbbN{}].  (str-to-nat(nat-to-str(n))  =  n)

Date html generated: 2017_04_17-AM-09_18_20
Last ObjectModification: 2017_02_27-PM-05_23_10

Theory : decidable!equality

Home Index