Nuprl Lemma : prime-sum-of-two-squares

p:Prime
  ((∃a,b:ℤ((¬((a ≡ mod p) ∧ (b ≡ mod p))) ∧ (((a a) (b b)) ≡ mod p)))
   (∃a,b:ℤ(p ((a a) (b b)) ∈ ℤ)))


Proof




Definitions occuring in Statement :  Prime: Prime eqmod: a ≡ mod m all: x:A. B[x] exists: x:A. B[x] not: ¬A implies:  Q and: P ∧ Q multiply: m add: m natural_number: $n int: equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q exists: x:A. B[x] and: P ∧ Q not: ¬A member: t ∈ T uall: [x:A]. B[x] Prime: Prime int_upper: {i...} prop: false: False nat_plus: + decidable: Dec(P) or: P ∨ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top iff: ⇐⇒ Q rev_implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) less_than: a < b less_than': less_than'(a;b) true: True squash: T bfalse: ff sq_type: SQType(T) guard: {T} bnot: ¬bb ifthenelse: if then else fi  assert: b eqmod: a ≡ mod m divides: a subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] nat: le: A ≤ B sq_stable: SqStable(P) cand: c∧ B int_seg: {i..j-} lelt: i ≤ j < k ge: i ≥ 
Lemmas referenced :  istype-int eqmod_wf istype-void Prime_wf small-eqmod int_upper_properties decidable__lt full-omega-unsat intformand_wf intformnot_wf intformless_wf itermConstant_wf itermVar_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_le_lemma int_formula_prop_wf istype-less_than eqmod_functionality_wrt_eqmod add_functionality_wrt_eqmod multiply_functionality_wrt_eqmod eqmod_inversion eqmod_weakening absval_unfold lt_int_wf eqtt_to_assert assert_of_lt_int istype-top eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf less_than_wf decidable__equal_int intformeq_wf itermSubtract_wf itermMultiply_wf itermMinus_wf int_formula_prop_eq_lemma int_term_value_subtract_lemma int_term_value_mul_lemma int_term_value_minus_lemma int_subtype_base set_subtype_base int_upper_wf prime_wf istype-int_upper le_wf absval_wf equal_wf squash_wf true_wf istype-universe add_functionality_wrt_eq absval_pos square_non_neg istype-le subtype_rel_self iff_weakening_equal absval_mul itermAdd_wf int_term_value_add_lemma Prime-isOdd assert-isOdd sq_stable_from_decidable decidable__prime upper_subtype_nat istype-false decidable__le multiply-is-int-iff false_wf product-eq-0-mod-prime nat_properties int_seg_wf int_seg_properties mul_preserves_le int_seg_subtype_nat subtype_rel_sets sq_stable__le prime-sum-of-two-squares-lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation_alt sqequalHypSubstitution productElimination thin sqequalRule productIsType cut introduction extract_by_obid hypothesis because_Cache functionIsType universeIsType isectElimination setElimination rename hypothesisEquality natural_numberEquality addEquality multiplyEquality dependent_functionElimination dependent_set_memberEquality_alt unionElimination independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality isect_memberEquality_alt voidElimination independent_pairFormation promote_hyp minusEquality inhabitedIsType equalityElimination equalityTransitivity equalitySymmetry lessCases isect_memberFormation_alt axiomSqEquality isectIsTypeImplies imageMemberEquality baseClosed imageElimination equalityIstype instantiate cumulativity baseApply closedConclusion applyEquality intEquality sqequalBase universeEquality sqequalIntensionalEquality pointwiseFunctionality applyLambdaEquality setEquality setIsType

Latex:
\mforall{}p:Prime
    ((\mexists{}a,b:\mBbbZ{}.  ((\mneg{}((a  \mequiv{}  0  mod  p)  \mwedge{}  (b  \mequiv{}  0  mod  p)))  \mwedge{}  (((a  *  a)  +  (b  *  b))  \mequiv{}  0  mod  p)))
    {}\mRightarrow{}  (\mexists{}a,b:\mBbbZ{}.  (p  =  ((a  *  a)  +  (b  *  b)))))



Date html generated: 2020_05_20-AM-08_08_27
Last ObjectModification: 2019_11_27-PM-02_22_09

Theory : general


Home Index