Nuprl Lemma : nim-sum-rec

[x,y:ℕ].  (nim-sum(x;y) (2 nim-sum(x ÷ 2;y ÷ 2)) if rem 2=y rem then else 1)


Proof




Definitions occuring in Statement :  nim-sum: nim-sum(x;y) nat: uall: [x:A]. B[x] int_eq: if a=b then else d remainder: rem m divide: n ÷ m multiply: m add: m natural_number: $n sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T subtype_rel: A ⊆B nat: int_nzero: -o true: True nequal: a ≠ b ∈  not: ¬A implies:  Q uimplies: supposing a sq_type: SQType(T) all: x:A. B[x] guard: {T} false: False prop: top: Top nat_plus: + less_than: a < b squash: T less_than': less_than'(a;b) and: P ∧ Q so_lambda: λ2x.t[x] so_apply: x[s]
Lemmas referenced :  div_rem_sum nim-sum_wf subtype_base_sq int_subtype_base equal-wf-base true_wf nequal_wf mul-commutes nim-sum-div2 divide_wf less_than_wf nim-sum-rem2 nat_wf set_subtype_base le_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis applyEquality lambdaEquality setElimination rename because_Cache sqequalRule dependent_set_memberEquality natural_numberEquality addLevel lambdaFormation instantiate cumulativity intEquality independent_isectElimination dependent_functionElimination equalityTransitivity equalitySymmetry independent_functionElimination voidElimination baseClosed addEquality divideEquality isect_memberEquality voidEquality multiplyEquality independent_pairFormation imageMemberEquality int_eqEquality remainderEquality hyp_replacement applyLambdaEquality sqequalIntensionalEquality baseApply closedConclusion

Latex:
\mforall{}[x,y:\mBbbN{}].    (nim-sum(x;y)  \msim{}  (2  *  nim-sum(x  \mdiv{}  2;y  \mdiv{}  2))  +  if  x  rem  2=y  rem  2  then  0  else  1)



Date html generated: 2018_05_21-PM-09_11_29
Last ObjectModification: 2018_05_19-PM-05_13_47

Theory : general


Home Index