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

Theorem seq3f1olemqsum 10377
 Description: Lemma for seq3f1o 10381. 𝑄 gives the same sum as 𝐽. (Contributed by Jim Kingdon, 21-Aug-2022.)
Hypotheses
Ref Expression
iseqf1o.1 ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → (𝑥 + 𝑦) ∈ 𝑆)
iseqf1o.2 ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → (𝑥 + 𝑦) = (𝑦 + 𝑥))
iseqf1o.3 ((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) → ((𝑥 + 𝑦) + 𝑧) = (𝑥 + (𝑦 + 𝑧)))
iseqf1o.4 (𝜑𝑁 ∈ (ℤ𝑀))
iseqf1o.6 (𝜑𝐹:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁))
iseqf1o.7 ((𝜑𝑥 ∈ (ℤ𝑀)) → (𝐺𝑥) ∈ 𝑆)
iseqf1olemstep.k (𝜑𝐾 ∈ (𝑀...𝑁))
iseqf1olemstep.j (𝜑𝐽:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁))
iseqf1olemstep.const (𝜑 → ∀𝑥 ∈ (𝑀..^𝐾)(𝐽𝑥) = 𝑥)
iseqf1olemnk (𝜑𝐾 ≠ (𝐽𝐾))
iseqf1olemqres.q 𝑄 = (𝑢 ∈ (𝑀...𝑁) ↦ if(𝑢 ∈ (𝐾...(𝐽𝐾)), if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))), (𝐽𝑢)))
iseqf1olemqsumk.p 𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)))
Assertion
Ref Expression
seq3f1olemqsum (𝜑 → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁))
Distinct variable groups:   𝑢,𝐽   𝑢,𝐾,𝑥   𝑢,𝑀,𝑥   𝑢,𝑁   𝑥,𝐽   𝑥,𝑄   𝜑,𝑥,𝑦,𝑧   𝜑,𝑢   𝑥, + ,𝑦,𝑧   𝑥,𝑆,𝑦,𝑧   𝑓,𝑀,𝑦,𝑧   𝑓,𝑁,𝑥,𝑦,𝑧   𝑦,𝐾,𝑧   𝑓,𝐺,𝑥   𝑓,𝐽,𝑦,𝑧   𝑥,𝑃,𝑦,𝑧   𝑄,𝑓,𝑦,𝑧
Allowed substitution hints:   𝜑(𝑓)   𝑃(𝑢,𝑓)   + (𝑢,𝑓)   𝑄(𝑢)   𝑆(𝑢,𝑓)   𝐹(𝑥,𝑦,𝑧,𝑢,𝑓)   𝐺(𝑦,𝑧,𝑢)   𝐾(𝑓)

Proof of Theorem seq3f1olemqsum
Dummy variables 𝑏 𝑎 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 iseqf1olemstep.k . . . . . . . 8 (𝜑𝐾 ∈ (𝑀...𝑁))
2 elfzel1 9905 . . . . . . . 8 (𝐾 ∈ (𝑀...𝑁) → 𝑀 ∈ ℤ)
31, 2syl 14 . . . . . . 7 (𝜑𝑀 ∈ ℤ)
43adantr 274 . . . . . 6 ((𝜑𝑀 < 𝐾) → 𝑀 ∈ ℤ)
5 elfzelz 9906 . . . . . . . . 9 (𝐾 ∈ (𝑀...𝑁) → 𝐾 ∈ ℤ)
61, 5syl 14 . . . . . . . 8 (𝜑𝐾 ∈ ℤ)
76adantr 274 . . . . . . 7 ((𝜑𝑀 < 𝐾) → 𝐾 ∈ ℤ)
8 peano2zm 9184 . . . . . . 7 (𝐾 ∈ ℤ → (𝐾 − 1) ∈ ℤ)
97, 8syl 14 . . . . . 6 ((𝜑𝑀 < 𝐾) → (𝐾 − 1) ∈ ℤ)
10 simpr 109 . . . . . . 7 ((𝜑𝑀 < 𝐾) → 𝑀 < 𝐾)
11 zltlem1 9203 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑀 < 𝐾𝑀 ≤ (𝐾 − 1)))
124, 7, 11syl2anc 409 . . . . . . 7 ((𝜑𝑀 < 𝐾) → (𝑀 < 𝐾𝑀 ≤ (𝐾 − 1)))
1310, 12mpbid 146 . . . . . 6 ((𝜑𝑀 < 𝐾) → 𝑀 ≤ (𝐾 − 1))
14 eluz2 9424 . . . . . 6 ((𝐾 − 1) ∈ (ℤ𝑀) ↔ (𝑀 ∈ ℤ ∧ (𝐾 − 1) ∈ ℤ ∧ 𝑀 ≤ (𝐾 − 1)))
154, 9, 13, 14syl3anbrc 1166 . . . . 5 ((𝜑𝑀 < 𝐾) → (𝐾 − 1) ∈ (ℤ𝑀))
163ad2antrr 480 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑀 ∈ ℤ)
17 elfzel2 9904 . . . . . . . . . . . 12 (𝐾 ∈ (𝑀...𝑁) → 𝑁 ∈ ℤ)
181, 17syl 14 . . . . . . . . . . 11 (𝜑𝑁 ∈ ℤ)
1918ad2antrr 480 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑁 ∈ ℤ)
20 elfzelz 9906 . . . . . . . . . . 11 (𝑏 ∈ (𝑀...(𝐾 − 1)) → 𝑏 ∈ ℤ)
2120adantl 275 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 ∈ ℤ)
22 elfzle1 9907 . . . . . . . . . . 11 (𝑏 ∈ (𝑀...(𝐾 − 1)) → 𝑀𝑏)
2322adantl 275 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑀𝑏)
2421zred 9265 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 ∈ ℝ)
256ad2antrr 480 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝐾 ∈ ℤ)
2625zred 9265 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝐾 ∈ ℝ)
2719zred 9265 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑁 ∈ ℝ)
28 peano2rem 8121 . . . . . . . . . . . . 13 (𝐾 ∈ ℝ → (𝐾 − 1) ∈ ℝ)
2926, 28syl 14 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐾 − 1) ∈ ℝ)
30 elfzle2 9908 . . . . . . . . . . . . 13 (𝑏 ∈ (𝑀...(𝐾 − 1)) → 𝑏 ≤ (𝐾 − 1))
3130adantl 275 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 ≤ (𝐾 − 1))
3226lem1d 8783 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐾 − 1) ≤ 𝐾)
3324, 29, 26, 31, 32letrd 7978 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏𝐾)
34 elfzle2 9908 . . . . . . . . . . . . 13 (𝐾 ∈ (𝑀...𝑁) → 𝐾𝑁)
351, 34syl 14 . . . . . . . . . . . 12 (𝜑𝐾𝑁)
3635ad2antrr 480 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝐾𝑁)
3724, 26, 27, 33, 36letrd 7978 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏𝑁)
38 elfz4 9899 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑀𝑏𝑏𝑁)) → 𝑏 ∈ (𝑀...𝑁))
3916, 19, 21, 23, 37, 38syl32anc 1225 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 ∈ (𝑀...𝑁))
40 elfzel1 9905 . . . . . . . . . . . . . 14 (𝑏 ∈ (𝐾...(𝐽𝐾)) → 𝐾 ∈ ℤ)
4140zred 9265 . . . . . . . . . . . . 13 (𝑏 ∈ (𝐾...(𝐽𝐾)) → 𝐾 ∈ ℝ)
42 elfzelz 9906 . . . . . . . . . . . . . 14 (𝑏 ∈ (𝐾...(𝐽𝐾)) → 𝑏 ∈ ℤ)
4342zred 9265 . . . . . . . . . . . . 13 (𝑏 ∈ (𝐾...(𝐽𝐾)) → 𝑏 ∈ ℝ)
44 elfzle1 9907 . . . . . . . . . . . . 13 (𝑏 ∈ (𝐾...(𝐽𝐾)) → 𝐾𝑏)
4541, 43, 44lensymd 7976 . . . . . . . . . . . 12 (𝑏 ∈ (𝐾...(𝐽𝐾)) → ¬ 𝑏 < 𝐾)
46 zltlem1 9203 . . . . . . . . . . . . . 14 ((𝑏 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑏 < 𝐾𝑏 ≤ (𝐾 − 1)))
4721, 25, 46syl2anc 409 . . . . . . . . . . . . 13 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑏 < 𝐾𝑏 ≤ (𝐾 − 1)))
4831, 47mpbird 166 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 < 𝐾)
4945, 48nsyl3 616 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → ¬ 𝑏 ∈ (𝐾...(𝐽𝐾)))
5049iffalsed 3511 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)) = (𝐽𝑏))
51 iseqf1olemstep.j . . . . . . . . . . . . 13 (𝜑𝐽:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁))
52 f1of 5407 . . . . . . . . . . . . 13 (𝐽:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁) → 𝐽:(𝑀...𝑁)⟶(𝑀...𝑁))
5351, 52syl 14 . . . . . . . . . . . 12 (𝜑𝐽:(𝑀...𝑁)⟶(𝑀...𝑁))
5453ad2antrr 480 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝐽:(𝑀...𝑁)⟶(𝑀...𝑁))
5554, 39ffvelrnd 5596 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐽𝑏) ∈ (𝑀...𝑁))
5650, 55eqeltrd 2231 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)) ∈ (𝑀...𝑁))
57 eleq1w 2215 . . . . . . . . . . 11 (𝑢 = 𝑏 → (𝑢 ∈ (𝐾...(𝐽𝐾)) ↔ 𝑏 ∈ (𝐾...(𝐽𝐾))))
58 eqeq1 2161 . . . . . . . . . . . 12 (𝑢 = 𝑏 → (𝑢 = 𝐾𝑏 = 𝐾))
59 fvoveq1 5837 . . . . . . . . . . . 12 (𝑢 = 𝑏 → (𝐽‘(𝑢 − 1)) = (𝐽‘(𝑏 − 1)))
6058, 59ifbieq2d 3525 . . . . . . . . . . 11 (𝑢 = 𝑏 → if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))) = if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))))
61 fveq2 5461 . . . . . . . . . . 11 (𝑢 = 𝑏 → (𝐽𝑢) = (𝐽𝑏))
6257, 60, 61ifbieq12d 3527 . . . . . . . . . 10 (𝑢 = 𝑏 → if(𝑢 ∈ (𝐾...(𝐽𝐾)), if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))), (𝐽𝑢)) = if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)))
63 iseqf1olemqres.q . . . . . . . . . 10 𝑄 = (𝑢 ∈ (𝑀...𝑁) ↦ if(𝑢 ∈ (𝐾...(𝐽𝐾)), if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))), (𝐽𝑢)))
6462, 63fvmptg 5537 . . . . . . . . 9 ((𝑏 ∈ (𝑀...𝑁) ∧ if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)) ∈ (𝑀...𝑁)) → (𝑄𝑏) = if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)))
6539, 56, 64syl2anc 409 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄𝑏) = if(𝑏 ∈ (𝐾...(𝐽𝐾)), if(𝑏 = 𝐾, 𝐾, (𝐽‘(𝑏 − 1))), (𝐽𝑏)))
6665, 50eqtrd 2187 . . . . . . 7 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄𝑏) = (𝐽𝑏))
6766fveq2d 5465 . . . . . 6 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐺‘(𝑄𝑏)) = (𝐺‘(𝐽𝑏)))
68 iseqf1olemqsumk.p . . . . . . . . . . 11 𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)))
6968csbeq2i 3054 . . . . . . . . . 10 𝑄 / 𝑓𝑃 = 𝑄 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)))
703, 18fzfigd 10308 . . . . . . . . . . . . 13 (𝜑 → (𝑀...𝑁) ∈ Fin)
71 mptexg 5685 . . . . . . . . . . . . 13 ((𝑀...𝑁) ∈ Fin → (𝑢 ∈ (𝑀...𝑁) ↦ if(𝑢 ∈ (𝐾...(𝐽𝐾)), if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))), (𝐽𝑢))) ∈ V)
7270, 71syl 14 . . . . . . . . . . . 12 (𝜑 → (𝑢 ∈ (𝑀...𝑁) ↦ if(𝑢 ∈ (𝐾...(𝐽𝐾)), if(𝑢 = 𝐾, 𝐾, (𝐽‘(𝑢 − 1))), (𝐽𝑢))) ∈ V)
7363, 72eqeltrid 2241 . . . . . . . . . . 11 (𝜑𝑄 ∈ V)
74 nfcvd 2297 . . . . . . . . . . . 12 (𝑄 ∈ V → 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
75 fveq1 5460 . . . . . . . . . . . . . . 15 (𝑓 = 𝑄 → (𝑓𝑥) = (𝑄𝑥))
7675fveq2d 5465 . . . . . . . . . . . . . 14 (𝑓 = 𝑄 → (𝐺‘(𝑓𝑥)) = (𝐺‘(𝑄𝑥)))
7776ifeq1d 3518 . . . . . . . . . . . . 13 (𝑓 = 𝑄 → if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)) = if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀)))
7877mpteq2dv 4051 . . . . . . . . . . . 12 (𝑓 = 𝑄 → (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
7974, 78csbiegf 3070 . . . . . . . . . . 11 (𝑄 ∈ V → 𝑄 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
8073, 79syl 14 . . . . . . . . . 10 (𝜑𝑄 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
8169, 80syl5eq 2199 . . . . . . . . 9 (𝜑𝑄 / 𝑓𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
8281ad2antrr 480 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑄 / 𝑓𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀))))
83 breq1 3964 . . . . . . . . . 10 (𝑥 = 𝑏 → (𝑥𝑁𝑏𝑁))
84 2fveq3 5466 . . . . . . . . . 10 (𝑥 = 𝑏 → (𝐺‘(𝑄𝑥)) = (𝐺‘(𝑄𝑏)))
8583, 84ifbieq1d 3523 . . . . . . . . 9 (𝑥 = 𝑏 → if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀)) = if(𝑏𝑁, (𝐺‘(𝑄𝑏)), (𝐺𝑀)))
8685adantl 275 . . . . . . . 8 ((((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) ∧ 𝑥 = 𝑏) → if(𝑥𝑁, (𝐺‘(𝑄𝑥)), (𝐺𝑀)) = if(𝑏𝑁, (𝐺‘(𝑄𝑏)), (𝐺𝑀)))
87 elfzuz 9902 . . . . . . . . 9 (𝑏 ∈ (𝑀...(𝐾 − 1)) → 𝑏 ∈ (ℤ𝑀))
8887adantl 275 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑏 ∈ (ℤ𝑀))
8937iftrued 3508 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏𝑁, (𝐺‘(𝑄𝑏)), (𝐺𝑀)) = (𝐺‘(𝑄𝑏)))
90 fveq2 5461 . . . . . . . . . . 11 (𝑎 = (𝑄𝑏) → (𝐺𝑎) = (𝐺‘(𝑄𝑏)))
9190eleq1d 2223 . . . . . . . . . 10 (𝑎 = (𝑄𝑏) → ((𝐺𝑎) ∈ 𝑆 ↔ (𝐺‘(𝑄𝑏)) ∈ 𝑆))
92 iseqf1o.7 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ (ℤ𝑀)) → (𝐺𝑥) ∈ 𝑆)
9392ralrimiva 2527 . . . . . . . . . . . 12 (𝜑 → ∀𝑥 ∈ (ℤ𝑀)(𝐺𝑥) ∈ 𝑆)
94 fveq2 5461 . . . . . . . . . . . . . 14 (𝑥 = 𝑎 → (𝐺𝑥) = (𝐺𝑎))
9594eleq1d 2223 . . . . . . . . . . . . 13 (𝑥 = 𝑎 → ((𝐺𝑥) ∈ 𝑆 ↔ (𝐺𝑎) ∈ 𝑆))
9695cbvralv 2677 . . . . . . . . . . . 12 (∀𝑥 ∈ (ℤ𝑀)(𝐺𝑥) ∈ 𝑆 ↔ ∀𝑎 ∈ (ℤ𝑀)(𝐺𝑎) ∈ 𝑆)
9793, 96sylib 121 . . . . . . . . . . 11 (𝜑 → ∀𝑎 ∈ (ℤ𝑀)(𝐺𝑎) ∈ 𝑆)
9897ad2antrr 480 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → ∀𝑎 ∈ (ℤ𝑀)(𝐺𝑎) ∈ 𝑆)
991, 51, 63iseqf1olemqf 10368 . . . . . . . . . . . . 13 (𝜑𝑄:(𝑀...𝑁)⟶(𝑀...𝑁))
10099ad2antrr 480 . . . . . . . . . . . 12 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝑄:(𝑀...𝑁)⟶(𝑀...𝑁))
101100, 39ffvelrnd 5596 . . . . . . . . . . 11 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄𝑏) ∈ (𝑀...𝑁))
102 elfzuz 9902 . . . . . . . . . . 11 ((𝑄𝑏) ∈ (𝑀...𝑁) → (𝑄𝑏) ∈ (ℤ𝑀))
103101, 102syl 14 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄𝑏) ∈ (ℤ𝑀))
10491, 98, 103rspcdva 2818 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐺‘(𝑄𝑏)) ∈ 𝑆)
10589, 104eqeltrd 2231 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏𝑁, (𝐺‘(𝑄𝑏)), (𝐺𝑀)) ∈ 𝑆)
10682, 86, 88, 105fvmptd 5542 . . . . . . 7 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄 / 𝑓𝑃𝑏) = if(𝑏𝑁, (𝐺‘(𝑄𝑏)), (𝐺𝑀)))
107106, 89eqtrd 2187 . . . . . 6 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝑄 / 𝑓𝑃𝑏) = (𝐺‘(𝑄𝑏)))
10868csbeq2i 3054 . . . . . . . . . 10 𝐽 / 𝑓𝑃 = 𝐽 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)))
109 fex 5687 . . . . . . . . . . . 12 ((𝐽:(𝑀...𝑁)⟶(𝑀...𝑁) ∧ (𝑀...𝑁) ∈ Fin) → 𝐽 ∈ V)
11053, 70, 109syl2anc 409 . . . . . . . . . . 11 (𝜑𝐽 ∈ V)
111 nfcvd 2297 . . . . . . . . . . . 12 (𝐽 ∈ V → 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
112 fveq1 5460 . . . . . . . . . . . . . . 15 (𝑓 = 𝐽 → (𝑓𝑥) = (𝐽𝑥))
113112fveq2d 5465 . . . . . . . . . . . . . 14 (𝑓 = 𝐽 → (𝐺‘(𝑓𝑥)) = (𝐺‘(𝐽𝑥)))
114113ifeq1d 3518 . . . . . . . . . . . . 13 (𝑓 = 𝐽 → if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀)) = if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀)))
115114mpteq2dv 4051 . . . . . . . . . . . 12 (𝑓 = 𝐽 → (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
116111, 115csbiegf 3070 . . . . . . . . . . 11 (𝐽 ∈ V → 𝐽 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
117110, 116syl 14 . . . . . . . . . 10 (𝜑𝐽 / 𝑓(𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝑓𝑥)), (𝐺𝑀))) = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
118108, 117syl5eq 2199 . . . . . . . . 9 (𝜑𝐽 / 𝑓𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
119118ad2antrr 480 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → 𝐽 / 𝑓𝑃 = (𝑥 ∈ (ℤ𝑀) ↦ if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀))))
120 2fveq3 5466 . . . . . . . . . 10 (𝑥 = 𝑏 → (𝐺‘(𝐽𝑥)) = (𝐺‘(𝐽𝑏)))
12183, 120ifbieq1d 3523 . . . . . . . . 9 (𝑥 = 𝑏 → if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀)) = if(𝑏𝑁, (𝐺‘(𝐽𝑏)), (𝐺𝑀)))
122121adantl 275 . . . . . . . 8 ((((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) ∧ 𝑥 = 𝑏) → if(𝑥𝑁, (𝐺‘(𝐽𝑥)), (𝐺𝑀)) = if(𝑏𝑁, (𝐺‘(𝐽𝑏)), (𝐺𝑀)))
12337iftrued 3508 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏𝑁, (𝐺‘(𝐽𝑏)), (𝐺𝑀)) = (𝐺‘(𝐽𝑏)))
124 fveq2 5461 . . . . . . . . . . 11 (𝑎 = (𝐽𝑏) → (𝐺𝑎) = (𝐺‘(𝐽𝑏)))
125124eleq1d 2223 . . . . . . . . . 10 (𝑎 = (𝐽𝑏) → ((𝐺𝑎) ∈ 𝑆 ↔ (𝐺‘(𝐽𝑏)) ∈ 𝑆))
126 elfzuz 9902 . . . . . . . . . . 11 ((𝐽𝑏) ∈ (𝑀...𝑁) → (𝐽𝑏) ∈ (ℤ𝑀))
12755, 126syl 14 . . . . . . . . . 10 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐽𝑏) ∈ (ℤ𝑀))
128125, 98, 127rspcdva 2818 . . . . . . . . 9 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐺‘(𝐽𝑏)) ∈ 𝑆)
129123, 128eqeltrd 2231 . . . . . . . 8 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → if(𝑏𝑁, (𝐺‘(𝐽𝑏)), (𝐺𝑀)) ∈ 𝑆)
130119, 122, 88, 129fvmptd 5542 . . . . . . 7 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐽 / 𝑓𝑃𝑏) = if(𝑏𝑁, (𝐺‘(𝐽𝑏)), (𝐺𝑀)))
131130, 123eqtrd 2187 . . . . . 6 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐽 / 𝑓𝑃𝑏) = (𝐺‘(𝐽𝑏)))
13267, 107, 1313eqtr4rd 2198 . . . . 5 (((𝜑𝑀 < 𝐾) ∧ 𝑏 ∈ (𝑀...(𝐾 − 1))) → (𝐽 / 𝑓𝑃𝑏) = (𝑄 / 𝑓𝑃𝑏))
1331adantr 274 . . . . . 6 ((𝜑𝑀 < 𝐾) → 𝐾 ∈ (𝑀...𝑁))
13451adantr 274 . . . . . 6 ((𝜑𝑀 < 𝐾) → 𝐽:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁))
13592adantlr 469 . . . . . 6 (((𝜑𝑀 < 𝐾) ∧ 𝑥 ∈ (ℤ𝑀)) → (𝐺𝑥) ∈ 𝑆)
136133, 134, 63, 135, 68iseqf1olemjpcl 10372 . . . . 5 (((𝜑𝑀 < 𝐾) ∧ 𝑥 ∈ (ℤ𝑀)) → (𝐽 / 𝑓𝑃𝑥) ∈ 𝑆)
137133, 134, 63, 135, 68iseqf1olemqpcl 10373 . . . . 5 (((𝜑𝑀 < 𝐾) ∧ 𝑥 ∈ (ℤ𝑀)) → (𝑄 / 𝑓𝑃𝑥) ∈ 𝑆)
138 iseqf1o.1 . . . . . 6 ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → (𝑥 + 𝑦) ∈ 𝑆)
139138adantlr 469 . . . . 5 (((𝜑𝑀 < 𝐾) ∧ (𝑥𝑆𝑦𝑆)) → (𝑥 + 𝑦) ∈ 𝑆)
14015, 132, 136, 137, 139seq3fveq 10348 . . . 4 ((𝜑𝑀 < 𝐾) → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘(𝐾 − 1)) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘(𝐾 − 1)))
141 iseqf1o.2 . . . . . . 7 ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → (𝑥 + 𝑦) = (𝑦 + 𝑥))
142 iseqf1o.3 . . . . . . 7 ((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) → ((𝑥 + 𝑦) + 𝑧) = (𝑥 + (𝑦 + 𝑧)))
143 iseqf1o.4 . . . . . . 7 (𝜑𝑁 ∈ (ℤ𝑀))
144 iseqf1o.6 . . . . . . 7 (𝜑𝐹:(𝑀...𝑁)–1-1-onto→(𝑀...𝑁))
145 iseqf1olemstep.const . . . . . . 7 (𝜑 → ∀𝑥 ∈ (𝑀..^𝐾)(𝐽𝑥) = 𝑥)
146 iseqf1olemnk . . . . . . 7 (𝜑𝐾 ≠ (𝐽𝐾))
147138, 141, 142, 143, 144, 92, 1, 51, 145, 146, 63, 68seq3f1olemqsumk 10376 . . . . . 6 (𝜑 → (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁))
148147adantr 274 . . . . 5 ((𝜑𝑀 < 𝐾) → (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁))
1497zcnd 9266 . . . . . . . 8 ((𝜑𝑀 < 𝐾) → 𝐾 ∈ ℂ)
150 npcan1 8232 . . . . . . . 8 (𝐾 ∈ ℂ → ((𝐾 − 1) + 1) = 𝐾)
151149, 150syl 14 . . . . . . 7 ((𝜑𝑀 < 𝐾) → ((𝐾 − 1) + 1) = 𝐾)
152151seqeq1d 10328 . . . . . 6 ((𝜑𝑀 < 𝐾) → seq((𝐾 − 1) + 1)( + , 𝐽 / 𝑓𝑃) = seq𝐾( + , 𝐽 / 𝑓𝑃))
153152fveq1d 5463 . . . . 5 ((𝜑𝑀 < 𝐾) → (seq((𝐾 − 1) + 1)( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁))
154151seqeq1d 10328 . . . . . 6 ((𝜑𝑀 < 𝐾) → seq((𝐾 − 1) + 1)( + , 𝑄 / 𝑓𝑃) = seq𝐾( + , 𝑄 / 𝑓𝑃))
155154fveq1d 5463 . . . . 5 ((𝜑𝑀 < 𝐾) → (seq((𝐾 − 1) + 1)( + , 𝑄 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁))
156148, 153, 1553eqtr4d 2197 . . . 4 ((𝜑𝑀 < 𝐾) → (seq((𝐾 − 1) + 1)( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq((𝐾 − 1) + 1)( + , 𝑄 / 𝑓𝑃)‘𝑁))
157140, 156oveq12d 5832 . . 3 ((𝜑𝑀 < 𝐾) → ((seq𝑀( + , 𝐽 / 𝑓𝑃)‘(𝐾 − 1)) + (seq((𝐾 − 1) + 1)( + , 𝐽 / 𝑓𝑃)‘𝑁)) = ((seq𝑀( + , 𝑄 / 𝑓𝑃)‘(𝐾 − 1)) + (seq((𝐾 − 1) + 1)( + , 𝑄 / 𝑓𝑃)‘𝑁)))
158142adantlr 469 . . . 4 (((𝜑𝑀 < 𝐾) ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) → ((𝑥 + 𝑦) + 𝑧) = (𝑥 + (𝑦 + 𝑧)))
159 elfzuz3 9903 . . . . . . 7 (𝐾 ∈ (𝑀...𝑁) → 𝑁 ∈ (ℤ𝐾))
1601, 159syl 14 . . . . . 6 (𝜑𝑁 ∈ (ℤ𝐾))
161160adantr 274 . . . . 5 ((𝜑𝑀 < 𝐾) → 𝑁 ∈ (ℤ𝐾))
162151fveq2d 5465 . . . . 5 ((𝜑𝑀 < 𝐾) → (ℤ‘((𝐾 − 1) + 1)) = (ℤ𝐾))
163161, 162eleqtrrd 2234 . . . 4 ((𝜑𝑀 < 𝐾) → 𝑁 ∈ (ℤ‘((𝐾 − 1) + 1)))
164139, 158, 163, 15, 136seq3split 10356 . . 3 ((𝜑𝑀 < 𝐾) → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = ((seq𝑀( + , 𝐽 / 𝑓𝑃)‘(𝐾 − 1)) + (seq((𝐾 − 1) + 1)( + , 𝐽 / 𝑓𝑃)‘𝑁)))
165139, 158, 163, 15, 137seq3split 10356 . . 3 ((𝜑𝑀 < 𝐾) → (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁) = ((seq𝑀( + , 𝑄 / 𝑓𝑃)‘(𝐾 − 1)) + (seq((𝐾 − 1) + 1)( + , 𝑄 / 𝑓𝑃)‘𝑁)))
166157, 164, 1653eqtr4d 2197 . 2 ((𝜑𝑀 < 𝐾) → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁))
167147adantr 274 . . 3 ((𝜑𝑀 = 𝐾) → (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁))
168 seqeq1 10325 . . . . . 6 (𝑀 = 𝐾 → seq𝑀( + , 𝐽 / 𝑓𝑃) = seq𝐾( + , 𝐽 / 𝑓𝑃))
169168fveq1d 5463 . . . . 5 (𝑀 = 𝐾 → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁))
170 seqeq1 10325 . . . . . 6 (𝑀 = 𝐾 → seq𝑀( + , 𝑄 / 𝑓𝑃) = seq𝐾( + , 𝑄 / 𝑓𝑃))
171170fveq1d 5463 . . . . 5 (𝑀 = 𝐾 → (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁))
172169, 171eqeq12d 2169 . . . 4 (𝑀 = 𝐾 → ((seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁) ↔ (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁)))
173172adantl 275 . . 3 ((𝜑𝑀 = 𝐾) → ((seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁) ↔ (seq𝐾( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝐾( + , 𝑄 / 𝑓𝑃)‘𝑁)))
174167, 173mpbird 166 . 2 ((𝜑𝑀 = 𝐾) → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁))
175 elfzle1 9907 . . . 4 (𝐾 ∈ (𝑀...𝑁) → 𝑀𝐾)
1761, 175syl 14 . . 3 (𝜑𝑀𝐾)
177 zleloe 9193 . . . 4 ((𝑀 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑀𝐾 ↔ (𝑀 < 𝐾𝑀 = 𝐾)))
1783, 6, 177syl2anc 409 . . 3 (𝜑 → (𝑀𝐾 ↔ (𝑀 < 𝐾𝑀 = 𝐾)))
179176, 178mpbid 146 . 2 (𝜑 → (𝑀 < 𝐾𝑀 = 𝐾))
180166, 174, 179mpjaodan 788 1 (𝜑 → (seq𝑀( + , 𝐽 / 𝑓𝑃)‘𝑁) = (seq𝑀( + , 𝑄 / 𝑓𝑃)‘𝑁))
 Colors of variables: wff set class Syntax hints:   → wi 4   ∧ wa 103   ↔ wb 104   ∨ wo 698   ∧ w3a 963   = wceq 1332   ∈ wcel 2125   ≠ wne 2324  ∀wral 2432  Vcvv 2709  ⦋csb 3027  ifcif 3501   class class class wbr 3961   ↦ cmpt 4021  ◡ccnv 4578  ⟶wf 5159  –1-1-onto→wf1o 5162  ‘cfv 5163  (class class class)co 5814  Fincfn 6674  ℂcc 7709  ℝcr 7710  1c1 7712   + caddc 7714   < clt 7891   ≤ cle 7892   − cmin 8025  ℤcz 9146  ℤ≥cuz 9418  ...cfz 9890  ..^cfzo 10019  seqcseq 10322 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1424  ax-7 1425  ax-gen 1426  ax-ie1 1470  ax-ie2 1471  ax-8 1481  ax-10 1482  ax-11 1483  ax-i12 1484  ax-bndl 1486  ax-4 1487  ax-17 1503  ax-i9 1507  ax-ial 1511  ax-i5r 1512  ax-13 2127  ax-14 2128  ax-ext 2136  ax-coll 4075  ax-sep 4078  ax-nul 4086  ax-pow 4130  ax-pr 4164  ax-un 4388  ax-setind 4490  ax-iinf 4541  ax-cnex 7802  ax-resscn 7803  ax-1cn 7804  ax-1re 7805  ax-icn 7806  ax-addcl 7807  ax-addrcl 7808  ax-mulcl 7809  ax-addcom 7811  ax-addass 7813  ax-distr 7815  ax-i2m1 7816  ax-0lt1 7817  ax-0id 7819  ax-rnegex 7820  ax-cnre 7822  ax-pre-ltirr 7823  ax-pre-ltwlin 7824  ax-pre-lttrn 7825  ax-pre-apti 7826  ax-pre-ltadd 7827 This theorem depends on definitions:  df-bi 116  df-dc 821  df-3or 964  df-3an 965  df-tru 1335  df-fal 1338  df-nf 1438  df-sb 1740  df-eu 2006  df-mo 2007  df-clab 2141  df-cleq 2147  df-clel 2150  df-nfc 2285  df-ne 2325  df-nel 2420  df-ral 2437  df-rex 2438  df-reu 2439  df-rab 2441  df-v 2711  df-sbc 2934  df-csb 3028  df-dif 3100  df-un 3102  df-in 3104  df-ss 3111  df-nul 3391  df-if 3502  df-pw 3541  df-sn 3562  df-pr 3563  df-op 3565  df-uni 3769  df-int 3804  df-iun 3847  df-br 3962  df-opab 4022  df-mpt 4023  df-tr 4059  df-id 4248  df-iord 4321  df-on 4323  df-ilim 4324  df-suc 4326  df-iom 4544  df-xp 4585  df-rel 4586  df-cnv 4587  df-co 4588  df-dm 4589  df-rn 4590  df-res 4591  df-ima 4592  df-iota 5128  df-fun 5165  df-fn 5166  df-f 5167  df-f1 5168  df-fo 5169  df-f1o 5170  df-fv 5171  df-riota 5770  df-ov 5817  df-oprab 5818  df-mpo 5819  df-1st 6078  df-2nd 6079  df-recs 6242  df-frec 6328  df-1o 6353  df-er 6469  df-en 6675  df-fin 6677  df-pnf 7893  df-mnf 7894  df-xr 7895  df-ltxr 7896  df-le 7897  df-sub 8027  df-neg 8028  df-inn 8813  df-n0 9070  df-z 9147  df-uz 9419  df-fz 9891  df-fzo 10020  df-seqfrec 10323 This theorem is referenced by:  seq3f1olemstep  10378
 Copyright terms: Public domain W3C validator