MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  oeoelem Structured version   Visualization version   GIF version

Theorem oeoelem 7565
Description: Lemma for oeoe 7566. (Contributed by Eric Schmidt, 26-May-2009.)
Hypotheses
Ref Expression
oeoelem.1 𝐴 ∈ On
oeoelem.2 ∅ ∈ 𝐴
Assertion
Ref Expression
oeoelem ((𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴𝑜 𝐵) ↑𝑜 𝐶) = (𝐴𝑜 (𝐵 ·𝑜 𝐶)))

Proof of Theorem oeoelem
Dummy variables 𝑥 𝑦 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 6557 . . . 4 (𝑥 = ∅ → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = ((𝐴𝑜 𝐵) ↑𝑜 ∅))
2 oveq2 6557 . . . . 5 (𝑥 = ∅ → (𝐵 ·𝑜 𝑥) = (𝐵 ·𝑜 ∅))
32oveq2d 6565 . . . 4 (𝑥 = ∅ → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = (𝐴𝑜 (𝐵 ·𝑜 ∅)))
41, 3eqeq12d 2625 . . 3 (𝑥 = ∅ → (((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)) ↔ ((𝐴𝑜 𝐵) ↑𝑜 ∅) = (𝐴𝑜 (𝐵 ·𝑜 ∅))))
5 oveq2 6557 . . . 4 (𝑥 = 𝑦 → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
6 oveq2 6557 . . . . 5 (𝑥 = 𝑦 → (𝐵 ·𝑜 𝑥) = (𝐵 ·𝑜 𝑦))
76oveq2d 6565 . . . 4 (𝑥 = 𝑦 → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)))
85, 7eqeq12d 2625 . . 3 (𝑥 = 𝑦 → (((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)) ↔ ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦))))
9 oveq2 6557 . . . 4 (𝑥 = suc 𝑦 → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦))
10 oveq2 6557 . . . . 5 (𝑥 = suc 𝑦 → (𝐵 ·𝑜 𝑥) = (𝐵 ·𝑜 suc 𝑦))
1110oveq2d 6565 . . . 4 (𝑥 = suc 𝑦 → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦)))
129, 11eqeq12d 2625 . . 3 (𝑥 = suc 𝑦 → (((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)) ↔ ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦))))
13 oveq2 6557 . . . 4 (𝑥 = 𝐶 → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = ((𝐴𝑜 𝐵) ↑𝑜 𝐶))
14 oveq2 6557 . . . . 5 (𝑥 = 𝐶 → (𝐵 ·𝑜 𝑥) = (𝐵 ·𝑜 𝐶))
1514oveq2d 6565 . . . 4 (𝑥 = 𝐶 → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = (𝐴𝑜 (𝐵 ·𝑜 𝐶)))
1613, 15eqeq12d 2625 . . 3 (𝑥 = 𝐶 → (((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)) ↔ ((𝐴𝑜 𝐵) ↑𝑜 𝐶) = (𝐴𝑜 (𝐵 ·𝑜 𝐶))))
17 oeoelem.1 . . . . . 6 𝐴 ∈ On
18 oecl 7504 . . . . . 6 ((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴𝑜 𝐵) ∈ On)
1917, 18mpan 702 . . . . 5 (𝐵 ∈ On → (𝐴𝑜 𝐵) ∈ On)
20 oe0 7489 . . . . 5 ((𝐴𝑜 𝐵) ∈ On → ((𝐴𝑜 𝐵) ↑𝑜 ∅) = 1𝑜)
2119, 20syl 17 . . . 4 (𝐵 ∈ On → ((𝐴𝑜 𝐵) ↑𝑜 ∅) = 1𝑜)
22 om0 7484 . . . . . 6 (𝐵 ∈ On → (𝐵 ·𝑜 ∅) = ∅)
2322oveq2d 6565 . . . . 5 (𝐵 ∈ On → (𝐴𝑜 (𝐵 ·𝑜 ∅)) = (𝐴𝑜 ∅))
24 oe0 7489 . . . . . 6 (𝐴 ∈ On → (𝐴𝑜 ∅) = 1𝑜)
2517, 24ax-mp 5 . . . . 5 (𝐴𝑜 ∅) = 1𝑜
2623, 25syl6eq 2660 . . . 4 (𝐵 ∈ On → (𝐴𝑜 (𝐵 ·𝑜 ∅)) = 1𝑜)
2721, 26eqtr4d 2647 . . 3 (𝐵 ∈ On → ((𝐴𝑜 𝐵) ↑𝑜 ∅) = (𝐴𝑜 (𝐵 ·𝑜 ∅)))
28 oveq1 6556 . . . . 5 (((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → (((𝐴𝑜 𝐵) ↑𝑜 𝑦) ·𝑜 (𝐴𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
29 oesuc 7494 . . . . . . 7 (((𝐴𝑜 𝐵) ∈ On ∧ 𝑦 ∈ On) → ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (((𝐴𝑜 𝐵) ↑𝑜 𝑦) ·𝑜 (𝐴𝑜 𝐵)))
3019, 29sylan 487 . . . . . 6 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (((𝐴𝑜 𝐵) ↑𝑜 𝑦) ·𝑜 (𝐴𝑜 𝐵)))
31 omsuc 7493 . . . . . . . 8 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (𝐵 ·𝑜 suc 𝑦) = ((𝐵 ·𝑜 𝑦) +𝑜 𝐵))
3231oveq2d 6565 . . . . . . 7 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦)) = (𝐴𝑜 ((𝐵 ·𝑜 𝑦) +𝑜 𝐵)))
33 omcl 7503 . . . . . . . . 9 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (𝐵 ·𝑜 𝑦) ∈ On)
34 oeoa 7564 . . . . . . . . . 10 ((𝐴 ∈ On ∧ (𝐵 ·𝑜 𝑦) ∈ On ∧ 𝐵 ∈ On) → (𝐴𝑜 ((𝐵 ·𝑜 𝑦) +𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
3517, 34mp3an1 1403 . . . . . . . . 9 (((𝐵 ·𝑜 𝑦) ∈ On ∧ 𝐵 ∈ On) → (𝐴𝑜 ((𝐵 ·𝑜 𝑦) +𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
3633, 35sylan 487 . . . . . . . 8 (((𝐵 ∈ On ∧ 𝑦 ∈ On) ∧ 𝐵 ∈ On) → (𝐴𝑜 ((𝐵 ·𝑜 𝑦) +𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
3736anabss1 851 . . . . . . 7 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (𝐴𝑜 ((𝐵 ·𝑜 𝑦) +𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
3832, 37eqtrd 2644 . . . . . 6 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵)))
3930, 38eqeq12d 2625 . . . . 5 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦)) ↔ (((𝐴𝑜 𝐵) ↑𝑜 𝑦) ·𝑜 (𝐴𝑜 𝐵)) = ((𝐴𝑜 (𝐵 ·𝑜 𝑦)) ·𝑜 (𝐴𝑜 𝐵))))
4028, 39syl5ibr 235 . . . 4 ((𝐵 ∈ On ∧ 𝑦 ∈ On) → (((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦))))
4140expcom 450 . . 3 (𝑦 ∈ On → (𝐵 ∈ On → (((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → ((𝐴𝑜 𝐵) ↑𝑜 suc 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 suc 𝑦)))))
42 iuneq2 4473 . . . . 5 (∀𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = 𝑦𝑥 (𝐴𝑜 (𝐵 ·𝑜 𝑦)))
43 vex 3176 . . . . . . 7 𝑥 ∈ V
44 oeoelem.2 . . . . . . . . . . 11 ∅ ∈ 𝐴
45 oen0 7553 . . . . . . . . . . 11 (((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ ∅ ∈ 𝐴) → ∅ ∈ (𝐴𝑜 𝐵))
4644, 45mpan2 703 . . . . . . . . . 10 ((𝐴 ∈ On ∧ 𝐵 ∈ On) → ∅ ∈ (𝐴𝑜 𝐵))
47 oelim 7501 . . . . . . . . . . 11 ((((𝐴𝑜 𝐵) ∈ On ∧ (𝑥 ∈ V ∧ Lim 𝑥)) ∧ ∅ ∈ (𝐴𝑜 𝐵)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
4818, 47sylanl1 680 . . . . . . . . . 10 ((((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝑥 ∈ V ∧ Lim 𝑥)) ∧ ∅ ∈ (𝐴𝑜 𝐵)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
4946, 48sylan2 490 . . . . . . . . 9 ((((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝑥 ∈ V ∧ Lim 𝑥)) ∧ (𝐴 ∈ On ∧ 𝐵 ∈ On)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
5049anabss1 851 . . . . . . . 8 (((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝑥 ∈ V ∧ Lim 𝑥)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
5117, 50mpanl1 712 . . . . . . 7 ((𝐵 ∈ On ∧ (𝑥 ∈ V ∧ Lim 𝑥)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
5243, 51mpanr1 715 . . . . . 6 ((𝐵 ∈ On ∧ Lim 𝑥) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦))
53 omlim 7500 . . . . . . . . 9 ((𝐵 ∈ On ∧ (𝑥 ∈ V ∧ Lim 𝑥)) → (𝐵 ·𝑜 𝑥) = 𝑦𝑥 (𝐵 ·𝑜 𝑦))
5443, 53mpanr1 715 . . . . . . . 8 ((𝐵 ∈ On ∧ Lim 𝑥) → (𝐵 ·𝑜 𝑥) = 𝑦𝑥 (𝐵 ·𝑜 𝑦))
5554oveq2d 6565 . . . . . . 7 ((𝐵 ∈ On ∧ Lim 𝑥) → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = (𝐴𝑜 𝑦𝑥 (𝐵 ·𝑜 𝑦)))
5643a1i 11 . . . . . . . 8 ((𝐵 ∈ On ∧ Lim 𝑥) → 𝑥 ∈ V)
57 limord 5701 . . . . . . . . . . . 12 (Lim 𝑥 → Ord 𝑥)
58 ordelon 5664 . . . . . . . . . . . 12 ((Ord 𝑥𝑦𝑥) → 𝑦 ∈ On)
5957, 58sylan 487 . . . . . . . . . . 11 ((Lim 𝑥𝑦𝑥) → 𝑦 ∈ On)
6059, 33sylan2 490 . . . . . . . . . 10 ((𝐵 ∈ On ∧ (Lim 𝑥𝑦𝑥)) → (𝐵 ·𝑜 𝑦) ∈ On)
6160anassrs 678 . . . . . . . . 9 (((𝐵 ∈ On ∧ Lim 𝑥) ∧ 𝑦𝑥) → (𝐵 ·𝑜 𝑦) ∈ On)
6261ralrimiva 2949 . . . . . . . 8 ((𝐵 ∈ On ∧ Lim 𝑥) → ∀𝑦𝑥 (𝐵 ·𝑜 𝑦) ∈ On)
63 0ellim 5704 . . . . . . . . . 10 (Lim 𝑥 → ∅ ∈ 𝑥)
64 ne0i 3880 . . . . . . . . . 10 (∅ ∈ 𝑥𝑥 ≠ ∅)
6563, 64syl 17 . . . . . . . . 9 (Lim 𝑥𝑥 ≠ ∅)
6665adantl 481 . . . . . . . 8 ((𝐵 ∈ On ∧ Lim 𝑥) → 𝑥 ≠ ∅)
67 vex 3176 . . . . . . . . . 10 𝑤 ∈ V
68 oelim 7501 . . . . . . . . . . . 12 (((𝐴 ∈ On ∧ (𝑤 ∈ V ∧ Lim 𝑤)) ∧ ∅ ∈ 𝐴) → (𝐴𝑜 𝑤) = 𝑧𝑤 (𝐴𝑜 𝑧))
6944, 68mpan2 703 . . . . . . . . . . 11 ((𝐴 ∈ On ∧ (𝑤 ∈ V ∧ Lim 𝑤)) → (𝐴𝑜 𝑤) = 𝑧𝑤 (𝐴𝑜 𝑧))
7017, 69mpan 702 . . . . . . . . . 10 ((𝑤 ∈ V ∧ Lim 𝑤) → (𝐴𝑜 𝑤) = 𝑧𝑤 (𝐴𝑜 𝑧))
7167, 70mpan 702 . . . . . . . . 9 (Lim 𝑤 → (𝐴𝑜 𝑤) = 𝑧𝑤 (𝐴𝑜 𝑧))
72 oewordi 7558 . . . . . . . . . . . 12 (((𝑧 ∈ On ∧ 𝑤 ∈ On ∧ 𝐴 ∈ On) ∧ ∅ ∈ 𝐴) → (𝑧𝑤 → (𝐴𝑜 𝑧) ⊆ (𝐴𝑜 𝑤)))
7344, 72mpan2 703 . . . . . . . . . . 11 ((𝑧 ∈ On ∧ 𝑤 ∈ On ∧ 𝐴 ∈ On) → (𝑧𝑤 → (𝐴𝑜 𝑧) ⊆ (𝐴𝑜 𝑤)))
7417, 73mp3an3 1405 . . . . . . . . . 10 ((𝑧 ∈ On ∧ 𝑤 ∈ On) → (𝑧𝑤 → (𝐴𝑜 𝑧) ⊆ (𝐴𝑜 𝑤)))
75743impia 1253 . . . . . . . . 9 ((𝑧 ∈ On ∧ 𝑤 ∈ On ∧ 𝑧𝑤) → (𝐴𝑜 𝑧) ⊆ (𝐴𝑜 𝑤))
7671, 75onoviun 7327 . . . . . . . 8 ((𝑥 ∈ V ∧ ∀𝑦𝑥 (𝐵 ·𝑜 𝑦) ∈ On ∧ 𝑥 ≠ ∅) → (𝐴𝑜 𝑦𝑥 (𝐵 ·𝑜 𝑦)) = 𝑦𝑥 (𝐴𝑜 (𝐵 ·𝑜 𝑦)))
7756, 62, 66, 76syl3anc 1318 . . . . . . 7 ((𝐵 ∈ On ∧ Lim 𝑥) → (𝐴𝑜 𝑦𝑥 (𝐵 ·𝑜 𝑦)) = 𝑦𝑥 (𝐴𝑜 (𝐵 ·𝑜 𝑦)))
7855, 77eqtrd 2644 . . . . . 6 ((𝐵 ∈ On ∧ Lim 𝑥) → (𝐴𝑜 (𝐵 ·𝑜 𝑥)) = 𝑦𝑥 (𝐴𝑜 (𝐵 ·𝑜 𝑦)))
7952, 78eqeq12d 2625 . . . . 5 ((𝐵 ∈ On ∧ Lim 𝑥) → (((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)) ↔ 𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = 𝑦𝑥 (𝐴𝑜 (𝐵 ·𝑜 𝑦))))
8042, 79syl5ibr 235 . . . 4 ((𝐵 ∈ On ∧ Lim 𝑥) → (∀𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥))))
8180expcom 450 . . 3 (Lim 𝑥 → (𝐵 ∈ On → (∀𝑦𝑥 ((𝐴𝑜 𝐵) ↑𝑜 𝑦) = (𝐴𝑜 (𝐵 ·𝑜 𝑦)) → ((𝐴𝑜 𝐵) ↑𝑜 𝑥) = (𝐴𝑜 (𝐵 ·𝑜 𝑥)))))
824, 8, 12, 16, 27, 41, 81tfinds3 6956 . 2 (𝐶 ∈ On → (𝐵 ∈ On → ((𝐴𝑜 𝐵) ↑𝑜 𝐶) = (𝐴𝑜 (𝐵 ·𝑜 𝐶))))
8382impcom 445 1 ((𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴𝑜 𝐵) ↑𝑜 𝐶) = (𝐴𝑜 (𝐵 ·𝑜 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 383  w3a 1031   = wceq 1475  wcel 1977  wne 2780  wral 2896  Vcvv 3173  wss 3540  c0 3874   ciun 4455  Ord word 5639  Oncon0 5640  Lim wlim 5641  suc csuc 5642  (class class class)co 6549  1𝑜c1o 7440   +𝑜 coa 7444   ·𝑜 comu 7445  𝑜 coe 7446
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-omul 7452  df-oexp 7453
This theorem is referenced by:  oeoe  7566
  Copyright terms: Public domain W3C validator