ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  eucalgval2 GIF version

Theorem eucalgval2 12052
Description: The value of the step function 𝐸 for Euclid's Algorithm on an ordered pair. (Contributed by Paul Chapman, 31-Mar-2011.) (Revised by Mario Carneiro, 28-May-2014.)
Hypothesis
Ref Expression
eucalgval.1 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
Assertion
Ref Expression
eucalgval2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
Distinct variable groups:   𝑥,𝑦,𝑀   𝑥,𝑁,𝑦
Allowed substitution hints:   𝐸(𝑥,𝑦)

Proof of Theorem eucalgval2
StepHypRef Expression
1 opexg 4228 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → ⟨𝑀, 𝑁⟩ ∈ V)
21adantr 276 . . 3 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝑁 = 0) → ⟨𝑀, 𝑁⟩ ∈ V)
3 simpr 110 . . . . 5 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℕ0)
43adantr 276 . . . 4 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ∈ ℕ0)
5 simpl 109 . . . . . . 7 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℕ0)
65nn0zd 9372 . . . . . 6 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
76adantr 276 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑀 ∈ ℤ)
8 simpr 110 . . . . . . 7 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ¬ 𝑁 = 0)
98neqned 2354 . . . . . 6 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ≠ 0)
10 elnnne0 9189 . . . . . 6 (𝑁 ∈ ℕ ↔ (𝑁 ∈ ℕ0𝑁 ≠ 0))
114, 9, 10sylanbrc 417 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ∈ ℕ)
127, 11zmodcld 10344 . . . 4 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → (𝑀 mod 𝑁) ∈ ℕ0)
13 opexg 4228 . . . 4 ((𝑁 ∈ ℕ0 ∧ (𝑀 mod 𝑁) ∈ ℕ0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
144, 12, 13syl2anc 411 . . 3 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
153nn0zd 9372 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
16 0zd 9264 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 0 ∈ ℤ)
17 zdceq 9327 . . . 4 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
1815, 16, 17syl2anc 411 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → DECID 𝑁 = 0)
192, 14, 18ifcldadc 3563 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V)
20 simpr 110 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → 𝑦 = 𝑁)
2120eqeq1d 2186 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑦 = 0 ↔ 𝑁 = 0))
22 opeq12 3780 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑥, 𝑦⟩ = ⟨𝑀, 𝑁⟩)
23 oveq12 5883 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑥 mod 𝑦) = (𝑀 mod 𝑁))
2420, 23opeq12d 3786 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑦, (𝑥 mod 𝑦)⟩ = ⟨𝑁, (𝑀 mod 𝑁)⟩)
2521, 22, 24ifbieq12d 3560 . . 3 ((𝑥 = 𝑀𝑦 = 𝑁) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
26 eucalgval.1 . . 3 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
2725, 26ovmpoga 6003 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0 ∧ if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
2819, 27mpd3an3 1338 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  DECID wdc 834   = wceq 1353  wcel 2148  wne 2347  Vcvv 2737  ifcif 3534  cop 3595  (class class class)co 5874  cmpo 5876  0cc0 7810  cn 8918  0cn0 9175  cz 9252   mod cmo 10321
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 614  ax-in2 615  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-13 2150  ax-14 2151  ax-ext 2159  ax-sep 4121  ax-pow 4174  ax-pr 4209  ax-un 4433  ax-setind 4536  ax-cnex 7901  ax-resscn 7902  ax-1cn 7903  ax-1re 7904  ax-icn 7905  ax-addcl 7906  ax-addrcl 7907  ax-mulcl 7908  ax-mulrcl 7909  ax-addcom 7910  ax-mulcom 7911  ax-addass 7912  ax-mulass 7913  ax-distr 7914  ax-i2m1 7915  ax-0lt1 7916  ax-1rid 7917  ax-0id 7918  ax-rnegex 7919  ax-precex 7920  ax-cnre 7921  ax-pre-ltirr 7922  ax-pre-ltwlin 7923  ax-pre-lttrn 7924  ax-pre-apti 7925  ax-pre-ltadd 7926  ax-pre-mulgt0 7927  ax-pre-mulext 7928  ax-arch 7929
This theorem depends on definitions:  df-bi 117  df-dc 835  df-3or 979  df-3an 980  df-tru 1356  df-fal 1359  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ne 2348  df-nel 2443  df-ral 2460  df-rex 2461  df-reu 2462  df-rmo 2463  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-dif 3131  df-un 3133  df-in 3135  df-ss 3142  df-nul 3423  df-if 3535  df-pw 3577  df-sn 3598  df-pr 3599  df-op 3601  df-uni 3810  df-int 3845  df-iun 3888  df-br 4004  df-opab 4065  df-mpt 4066  df-id 4293  df-po 4296  df-iso 4297  df-xp 4632  df-rel 4633  df-cnv 4634  df-co 4635  df-dm 4636  df-rn 4637  df-res 4638  df-ima 4639  df-iota 5178  df-fun 5218  df-fn 5219  df-f 5220  df-fv 5224  df-riota 5830  df-ov 5877  df-oprab 5878  df-mpo 5879  df-1st 6140  df-2nd 6141  df-pnf 7993  df-mnf 7994  df-xr 7995  df-ltxr 7996  df-le 7997  df-sub 8129  df-neg 8130  df-reap 8531  df-ap 8538  df-div 8629  df-inn 8919  df-n0 9176  df-z 9253  df-q 9619  df-rp 9653  df-fl 10269  df-mod 10322
This theorem is referenced by:  eucalgval  12053
  Copyright terms: Public domain W3C validator