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

Theorem eucalgval2 12596
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 4315 . . . 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 9583 . . . . . 6 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
76adantr 276 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑀 ∈ ℤ)
8 simpr 110 . . . . . . 7 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ¬ 𝑁 = 0)
98neqned 2407 . . . . . 6 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ≠ 0)
10 elnnne0 9399 . . . . . 6 (𝑁 ∈ ℕ ↔ (𝑁 ∈ ℕ0𝑁 ≠ 0))
114, 9, 10sylanbrc 417 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ∈ ℕ)
127, 11zmodcld 10584 . . . 4 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → (𝑀 mod 𝑁) ∈ ℕ0)
13 opexg 4315 . . . 4 ((𝑁 ∈ ℕ0 ∧ (𝑀 mod 𝑁) ∈ ℕ0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
144, 12, 13syl2anc 411 . . 3 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
153nn0zd 9583 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
16 0zd 9474 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 0 ∈ ℤ)
17 zdceq 9538 . . . 4 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
1815, 16, 17syl2anc 411 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → DECID 𝑁 = 0)
192, 14, 18ifcldadc 3632 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V)
20 simpr 110 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → 𝑦 = 𝑁)
2120eqeq1d 2238 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑦 = 0 ↔ 𝑁 = 0))
22 opeq12 3859 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑥, 𝑦⟩ = ⟨𝑀, 𝑁⟩)
23 oveq12 6019 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑥 mod 𝑦) = (𝑀 mod 𝑁))
2420, 23opeq12d 3865 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑦, (𝑥 mod 𝑦)⟩ = ⟨𝑁, (𝑀 mod 𝑁)⟩)
2521, 22, 24ifbieq12d 3629 . . 3 ((𝑥 = 𝑀𝑦 = 𝑁) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
26 eucalgval.1 . . 3 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
2725, 26ovmpoga 6143 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0 ∧ if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
2819, 27mpd3an3 1372 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  DECID wdc 839   = wceq 1395  wcel 2200  wne 2400  Vcvv 2799  ifcif 3602  cop 3669  (class class class)co 6010  cmpo 6012  0cc0 8015  cn 9126  0cn0 9385  cz 9462   mod cmo 10561
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 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-sep 4202  ax-pow 4259  ax-pr 4294  ax-un 4525  ax-setind 4630  ax-cnex 8106  ax-resscn 8107  ax-1cn 8108  ax-1re 8109  ax-icn 8110  ax-addcl 8111  ax-addrcl 8112  ax-mulcl 8113  ax-mulrcl 8114  ax-addcom 8115  ax-mulcom 8116  ax-addass 8117  ax-mulass 8118  ax-distr 8119  ax-i2m1 8120  ax-0lt1 8121  ax-1rid 8122  ax-0id 8123  ax-rnegex 8124  ax-precex 8125  ax-cnre 8126  ax-pre-ltirr 8127  ax-pre-ltwlin 8128  ax-pre-lttrn 8129  ax-pre-apti 8130  ax-pre-ltadd 8131  ax-pre-mulgt0 8132  ax-pre-mulext 8133  ax-arch 8134
This theorem depends on definitions:  df-bi 117  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-dif 3199  df-un 3201  df-in 3203  df-ss 3210  df-nul 3492  df-if 3603  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-uni 3889  df-int 3924  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-id 4385  df-po 4388  df-iso 4389  df-xp 4726  df-rel 4727  df-cnv 4728  df-co 4729  df-dm 4730  df-rn 4731  df-res 4732  df-ima 4733  df-iota 5281  df-fun 5323  df-fn 5324  df-f 5325  df-fv 5329  df-riota 5963  df-ov 6013  df-oprab 6014  df-mpo 6015  df-1st 6295  df-2nd 6296  df-pnf 8199  df-mnf 8200  df-xr 8201  df-ltxr 8202  df-le 8203  df-sub 8335  df-neg 8336  df-reap 8738  df-ap 8745  df-div 8836  df-inn 9127  df-n0 9386  df-z 9463  df-q 9832  df-rp 9867  df-fl 10507  df-mod 10562
This theorem is referenced by:  eucalgval  12597
  Copyright terms: Public domain W3C validator