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

Theorem eucalgval2 12541
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 4293 . . . 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 9535 . . . . . 6 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
76adantr 276 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑀 ∈ ℤ)
8 simpr 110 . . . . . . 7 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ¬ 𝑁 = 0)
98neqned 2387 . . . . . 6 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ≠ 0)
10 elnnne0 9351 . . . . . 6 (𝑁 ∈ ℕ ↔ (𝑁 ∈ ℕ0𝑁 ≠ 0))
114, 9, 10sylanbrc 417 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ∈ ℕ)
127, 11zmodcld 10534 . . . 4 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → (𝑀 mod 𝑁) ∈ ℕ0)
13 opexg 4293 . . . 4 ((𝑁 ∈ ℕ0 ∧ (𝑀 mod 𝑁) ∈ ℕ0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
144, 12, 13syl2anc 411 . . 3 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
153nn0zd 9535 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
16 0zd 9426 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 0 ∈ ℤ)
17 zdceq 9490 . . . 4 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
1815, 16, 17syl2anc 411 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → DECID 𝑁 = 0)
192, 14, 18ifcldadc 3612 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V)
20 simpr 110 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → 𝑦 = 𝑁)
2120eqeq1d 2218 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑦 = 0 ↔ 𝑁 = 0))
22 opeq12 3838 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑥, 𝑦⟩ = ⟨𝑀, 𝑁⟩)
23 oveq12 5983 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑥 mod 𝑦) = (𝑀 mod 𝑁))
2420, 23opeq12d 3844 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑦, (𝑥 mod 𝑦)⟩ = ⟨𝑁, (𝑀 mod 𝑁)⟩)
2521, 22, 24ifbieq12d 3609 . . 3 ((𝑥 = 𝑀𝑦 = 𝑁) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
26 eucalgval.1 . . 3 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
2725, 26ovmpoga 6105 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0 ∧ if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
2819, 27mpd3an3 1353 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  DECID wdc 838   = wceq 1375  wcel 2180  wne 2380  Vcvv 2779  ifcif 3582  cop 3649  (class class class)co 5974  cmpo 5976  0cc0 7967  cn 9078  0cn0 9337  cz 9414   mod cmo 10511
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 713  ax-5 1473  ax-7 1474  ax-gen 1475  ax-ie1 1519  ax-ie2 1520  ax-8 1530  ax-10 1531  ax-11 1532  ax-i12 1533  ax-bndl 1535  ax-4 1536  ax-17 1552  ax-i9 1556  ax-ial 1560  ax-i5r 1561  ax-13 2182  ax-14 2183  ax-ext 2191  ax-sep 4181  ax-pow 4237  ax-pr 4272  ax-un 4501  ax-setind 4606  ax-cnex 8058  ax-resscn 8059  ax-1cn 8060  ax-1re 8061  ax-icn 8062  ax-addcl 8063  ax-addrcl 8064  ax-mulcl 8065  ax-mulrcl 8066  ax-addcom 8067  ax-mulcom 8068  ax-addass 8069  ax-mulass 8070  ax-distr 8071  ax-i2m1 8072  ax-0lt1 8073  ax-1rid 8074  ax-0id 8075  ax-rnegex 8076  ax-precex 8077  ax-cnre 8078  ax-pre-ltirr 8079  ax-pre-ltwlin 8080  ax-pre-lttrn 8081  ax-pre-apti 8082  ax-pre-ltadd 8083  ax-pre-mulgt0 8084  ax-pre-mulext 8085  ax-arch 8086
This theorem depends on definitions:  df-bi 117  df-dc 839  df-3or 984  df-3an 985  df-tru 1378  df-fal 1381  df-nf 1487  df-sb 1789  df-eu 2060  df-mo 2061  df-clab 2196  df-cleq 2202  df-clel 2205  df-nfc 2341  df-ne 2381  df-nel 2476  df-ral 2493  df-rex 2494  df-reu 2495  df-rmo 2496  df-rab 2497  df-v 2781  df-sbc 3009  df-csb 3105  df-dif 3179  df-un 3181  df-in 3183  df-ss 3190  df-nul 3472  df-if 3583  df-pw 3631  df-sn 3652  df-pr 3653  df-op 3655  df-uni 3868  df-int 3903  df-iun 3946  df-br 4063  df-opab 4125  df-mpt 4126  df-id 4361  df-po 4364  df-iso 4365  df-xp 4702  df-rel 4703  df-cnv 4704  df-co 4705  df-dm 4706  df-rn 4707  df-res 4708  df-ima 4709  df-iota 5254  df-fun 5296  df-fn 5297  df-f 5298  df-fv 5302  df-riota 5927  df-ov 5977  df-oprab 5978  df-mpo 5979  df-1st 6256  df-2nd 6257  df-pnf 8151  df-mnf 8152  df-xr 8153  df-ltxr 8154  df-le 8155  df-sub 8287  df-neg 8288  df-reap 8690  df-ap 8697  df-div 8788  df-inn 9079  df-n0 9338  df-z 9415  df-q 9783  df-rp 9818  df-fl 10457  df-mod 10512
This theorem is referenced by:  eucalgval  12542
  Copyright terms: Public domain W3C validator