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

Theorem eucalgval2 12419
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 4276 . . . 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 9500 . . . . . 6 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
76adantr 276 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑀 ∈ ℤ)
8 simpr 110 . . . . . . 7 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ¬ 𝑁 = 0)
98neqned 2384 . . . . . 6 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ≠ 0)
10 elnnne0 9316 . . . . . 6 (𝑁 ∈ ℕ ↔ (𝑁 ∈ ℕ0𝑁 ≠ 0))
114, 9, 10sylanbrc 417 . . . . 5 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → 𝑁 ∈ ℕ)
127, 11zmodcld 10497 . . . 4 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → (𝑀 mod 𝑁) ∈ ℕ0)
13 opexg 4276 . . . 4 ((𝑁 ∈ ℕ0 ∧ (𝑀 mod 𝑁) ∈ ℕ0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
144, 12, 13syl2anc 411 . . 3 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ ¬ 𝑁 = 0) → ⟨𝑁, (𝑀 mod 𝑁)⟩ ∈ V)
153nn0zd 9500 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
16 0zd 9391 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 0 ∈ ℤ)
17 zdceq 9455 . . . 4 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑁 = 0)
1815, 16, 17syl2anc 411 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → DECID 𝑁 = 0)
192, 14, 18ifcldadc 3601 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V)
20 simpr 110 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → 𝑦 = 𝑁)
2120eqeq1d 2215 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑦 = 0 ↔ 𝑁 = 0))
22 opeq12 3823 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑥, 𝑦⟩ = ⟨𝑀, 𝑁⟩)
23 oveq12 5960 . . . . 5 ((𝑥 = 𝑀𝑦 = 𝑁) → (𝑥 mod 𝑦) = (𝑀 mod 𝑁))
2420, 23opeq12d 3829 . . . 4 ((𝑥 = 𝑀𝑦 = 𝑁) → ⟨𝑦, (𝑥 mod 𝑦)⟩ = ⟨𝑁, (𝑀 mod 𝑁)⟩)
2521, 22, 24ifbieq12d 3598 . . 3 ((𝑥 = 𝑀𝑦 = 𝑁) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
26 eucalgval.1 . . 3 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
2725, 26ovmpoga 6082 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0 ∧ if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩) ∈ V) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
2819, 27mpd3an3 1351 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝐸𝑁) = if(𝑁 = 0, ⟨𝑀, 𝑁⟩, ⟨𝑁, (𝑀 mod 𝑁)⟩))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  DECID wdc 836   = wceq 1373  wcel 2177  wne 2377  Vcvv 2773  ifcif 3572  cop 3637  (class class class)co 5951  cmpo 5953  0cc0 7932  cn 9043  0cn0 9302  cz 9379   mod cmo 10474
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 615  ax-in2 616  ax-io 711  ax-5 1471  ax-7 1472  ax-gen 1473  ax-ie1 1517  ax-ie2 1518  ax-8 1528  ax-10 1529  ax-11 1530  ax-i12 1531  ax-bndl 1533  ax-4 1534  ax-17 1550  ax-i9 1554  ax-ial 1558  ax-i5r 1559  ax-13 2179  ax-14 2180  ax-ext 2188  ax-sep 4166  ax-pow 4222  ax-pr 4257  ax-un 4484  ax-setind 4589  ax-cnex 8023  ax-resscn 8024  ax-1cn 8025  ax-1re 8026  ax-icn 8027  ax-addcl 8028  ax-addrcl 8029  ax-mulcl 8030  ax-mulrcl 8031  ax-addcom 8032  ax-mulcom 8033  ax-addass 8034  ax-mulass 8035  ax-distr 8036  ax-i2m1 8037  ax-0lt1 8038  ax-1rid 8039  ax-0id 8040  ax-rnegex 8041  ax-precex 8042  ax-cnre 8043  ax-pre-ltirr 8044  ax-pre-ltwlin 8045  ax-pre-lttrn 8046  ax-pre-apti 8047  ax-pre-ltadd 8048  ax-pre-mulgt0 8049  ax-pre-mulext 8050  ax-arch 8051
This theorem depends on definitions:  df-bi 117  df-dc 837  df-3or 982  df-3an 983  df-tru 1376  df-fal 1379  df-nf 1485  df-sb 1787  df-eu 2058  df-mo 2059  df-clab 2193  df-cleq 2199  df-clel 2202  df-nfc 2338  df-ne 2378  df-nel 2473  df-ral 2490  df-rex 2491  df-reu 2492  df-rmo 2493  df-rab 2494  df-v 2775  df-sbc 3000  df-csb 3095  df-dif 3169  df-un 3171  df-in 3173  df-ss 3180  df-nul 3462  df-if 3573  df-pw 3619  df-sn 3640  df-pr 3641  df-op 3643  df-uni 3853  df-int 3888  df-iun 3931  df-br 4048  df-opab 4110  df-mpt 4111  df-id 4344  df-po 4347  df-iso 4348  df-xp 4685  df-rel 4686  df-cnv 4687  df-co 4688  df-dm 4689  df-rn 4690  df-res 4691  df-ima 4692  df-iota 5237  df-fun 5278  df-fn 5279  df-f 5280  df-fv 5284  df-riota 5906  df-ov 5954  df-oprab 5955  df-mpo 5956  df-1st 6233  df-2nd 6234  df-pnf 8116  df-mnf 8117  df-xr 8118  df-ltxr 8119  df-le 8120  df-sub 8252  df-neg 8253  df-reap 8655  df-ap 8662  df-div 8753  df-inn 9044  df-n0 9303  df-z 9380  df-q 9748  df-rp 9783  df-fl 10420  df-mod 10475
This theorem is referenced by:  eucalgval  12420
  Copyright terms: Public domain W3C validator