![]() |
Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > ILE Home > Th. List > eucalgval | GIF version |
Description: Euclid's Algorithm eucalg 12026 computes the greatest common divisor of two
nonnegative integers by repeatedly replacing the larger of them with its
remainder modulo the smaller until the remainder is 0.
The value of the step function 𝐸 for Euclid's Algorithm. (Contributed by Paul Chapman, 31-Mar-2011.) (Revised by Mario Carneiro, 28-May-2014.) |
Ref | Expression |
---|---|
eucalgval.1 | ⊢ 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, 〈𝑥, 𝑦〉, 〈𝑦, (𝑥 mod 𝑦)〉)) |
Ref | Expression |
---|---|
eucalgval | ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (𝐸‘𝑋) = if((2nd ‘𝑋) = 0, 𝑋, 〈(2nd ‘𝑋), ( mod ‘𝑋)〉)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | df-ov 5868 | . . 3 ⊢ ((1st ‘𝑋)𝐸(2nd ‘𝑋)) = (𝐸‘〈(1st ‘𝑋), (2nd ‘𝑋)〉) | |
2 | xp1st 6156 | . . . 4 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (1st ‘𝑋) ∈ ℕ0) | |
3 | xp2nd 6157 | . . . 4 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (2nd ‘𝑋) ∈ ℕ0) | |
4 | eucalgval.1 | . . . . 5 ⊢ 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, 〈𝑥, 𝑦〉, 〈𝑦, (𝑥 mod 𝑦)〉)) | |
5 | 4 | eucalgval2 12020 | . . . 4 ⊢ (((1st ‘𝑋) ∈ ℕ0 ∧ (2nd ‘𝑋) ∈ ℕ0) → ((1st ‘𝑋)𝐸(2nd ‘𝑋)) = if((2nd ‘𝑋) = 0, 〈(1st ‘𝑋), (2nd ‘𝑋)〉, 〈(2nd ‘𝑋), ((1st ‘𝑋) mod (2nd ‘𝑋))〉)) |
6 | 2, 3, 5 | syl2anc 411 | . . 3 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → ((1st ‘𝑋)𝐸(2nd ‘𝑋)) = if((2nd ‘𝑋) = 0, 〈(1st ‘𝑋), (2nd ‘𝑋)〉, 〈(2nd ‘𝑋), ((1st ‘𝑋) mod (2nd ‘𝑋))〉)) |
7 | 1, 6 | eqtr3id 2222 | . 2 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (𝐸‘〈(1st ‘𝑋), (2nd ‘𝑋)〉) = if((2nd ‘𝑋) = 0, 〈(1st ‘𝑋), (2nd ‘𝑋)〉, 〈(2nd ‘𝑋), ((1st ‘𝑋) mod (2nd ‘𝑋))〉)) |
8 | 1st2nd2 6166 | . . 3 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → 𝑋 = 〈(1st ‘𝑋), (2nd ‘𝑋)〉) | |
9 | 8 | fveq2d 5511 | . 2 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (𝐸‘𝑋) = (𝐸‘〈(1st ‘𝑋), (2nd ‘𝑋)〉)) |
10 | 8 | fveq2d 5511 | . . . . 5 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → ( mod ‘𝑋) = ( mod ‘〈(1st ‘𝑋), (2nd ‘𝑋)〉)) |
11 | df-ov 5868 | . . . . 5 ⊢ ((1st ‘𝑋) mod (2nd ‘𝑋)) = ( mod ‘〈(1st ‘𝑋), (2nd ‘𝑋)〉) | |
12 | 10, 11 | eqtr4di 2226 | . . . 4 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → ( mod ‘𝑋) = ((1st ‘𝑋) mod (2nd ‘𝑋))) |
13 | 12 | opeq2d 3781 | . . 3 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → 〈(2nd ‘𝑋), ( mod ‘𝑋)〉 = 〈(2nd ‘𝑋), ((1st ‘𝑋) mod (2nd ‘𝑋))〉) |
14 | 8, 13 | ifeq12d 3551 | . 2 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → if((2nd ‘𝑋) = 0, 𝑋, 〈(2nd ‘𝑋), ( mod ‘𝑋)〉) = if((2nd ‘𝑋) = 0, 〈(1st ‘𝑋), (2nd ‘𝑋)〉, 〈(2nd ‘𝑋), ((1st ‘𝑋) mod (2nd ‘𝑋))〉)) |
15 | 7, 9, 14 | 3eqtr4d 2218 | 1 ⊢ (𝑋 ∈ (ℕ0 × ℕ0) → (𝐸‘𝑋) = if((2nd ‘𝑋) = 0, 𝑋, 〈(2nd ‘𝑋), ( mod ‘𝑋)〉)) |
Colors of variables: wff set class |
Syntax hints: → wi 4 = wceq 1353 ∈ wcel 2146 ifcif 3532 〈cop 3592 × cxp 4618 ‘cfv 5208 (class class class)co 5865 ∈ cmpo 5867 1st c1st 6129 2nd c2nd 6130 0cc0 7786 ℕ0cn0 9149 mod cmo 10292 |
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 1445 ax-7 1446 ax-gen 1447 ax-ie1 1491 ax-ie2 1492 ax-8 1502 ax-10 1503 ax-11 1504 ax-i12 1505 ax-bndl 1507 ax-4 1508 ax-17 1524 ax-i9 1528 ax-ial 1532 ax-i5r 1533 ax-13 2148 ax-14 2149 ax-ext 2157 ax-sep 4116 ax-pow 4169 ax-pr 4203 ax-un 4427 ax-setind 4530 ax-cnex 7877 ax-resscn 7878 ax-1cn 7879 ax-1re 7880 ax-icn 7881 ax-addcl 7882 ax-addrcl 7883 ax-mulcl 7884 ax-mulrcl 7885 ax-addcom 7886 ax-mulcom 7887 ax-addass 7888 ax-mulass 7889 ax-distr 7890 ax-i2m1 7891 ax-0lt1 7892 ax-1rid 7893 ax-0id 7894 ax-rnegex 7895 ax-precex 7896 ax-cnre 7897 ax-pre-ltirr 7898 ax-pre-ltwlin 7899 ax-pre-lttrn 7900 ax-pre-apti 7901 ax-pre-ltadd 7902 ax-pre-mulgt0 7903 ax-pre-mulext 7904 ax-arch 7905 |
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 1459 df-sb 1761 df-eu 2027 df-mo 2028 df-clab 2162 df-cleq 2168 df-clel 2171 df-nfc 2306 df-ne 2346 df-nel 2441 df-ral 2458 df-rex 2459 df-reu 2460 df-rmo 2461 df-rab 2462 df-v 2737 df-sbc 2961 df-csb 3056 df-dif 3129 df-un 3131 df-in 3133 df-ss 3140 df-nul 3421 df-if 3533 df-pw 3574 df-sn 3595 df-pr 3596 df-op 3598 df-uni 3806 df-int 3841 df-iun 3884 df-br 3999 df-opab 4060 df-mpt 4061 df-id 4287 df-po 4290 df-iso 4291 df-xp 4626 df-rel 4627 df-cnv 4628 df-co 4629 df-dm 4630 df-rn 4631 df-res 4632 df-ima 4633 df-iota 5170 df-fun 5210 df-fn 5211 df-f 5212 df-fv 5216 df-riota 5821 df-ov 5868 df-oprab 5869 df-mpo 5870 df-1st 6131 df-2nd 6132 df-pnf 7968 df-mnf 7969 df-xr 7970 df-ltxr 7971 df-le 7972 df-sub 8104 df-neg 8105 df-reap 8506 df-ap 8513 df-div 8603 df-inn 8893 df-n0 9150 df-z 9227 df-q 9593 df-rp 9625 df-fl 10240 df-mod 10293 |
This theorem is referenced by: eucalginv 12023 eucalglt 12024 |
Copyright terms: Public domain | W3C validator |