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

Theorem eucrctshift 30874
Description: Cyclically shifting the indices of an Eulerian circuit ⟨𝐹, 𝑃⟩ results in an Eulerian circuit ⟨𝐻, 𝑄⟩. (Contributed by AV, 15-Mar-2021.) (Proof shortened by AV, 30-Oct-2021.)
Hypotheses
Ref Expression
eucrctshift.v 𝑉 = (Vtx‘𝐺)
eucrctshift.i 𝐼 = (iEdg‘𝐺)
eucrctshift.c (𝜑 → 𝐹(Circuits‘𝐺)𝑃)
eucrctshift.n 𝑁 = (♯‘𝐹)
eucrctshift.s (𝜑 → 𝑆 ∈ (0..^𝑁))
eucrctshift.h 𝐻 = (𝐹 cyclShift 𝑆)
eucrctshift.q 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
eucrctshift.e (𝜑 → 𝐹(EulerPaths‘𝐺)𝑃)
Assertion
Ref Expression
eucrctshift (𝜑 → (𝐻(EulerPaths‘𝐺)𝑄 ∧ 𝐻(Circuits‘𝐺)𝑄))
Distinct variable groups:   𝑥,𝐹   𝑥,𝐻   𝑥,𝐼   𝑥,𝑁   𝑥,𝑃   𝑥,𝑆   𝑥,𝑉   𝜑,𝑥
Allowed substitution hints:   𝑄(𝑥)   𝐺(𝑥)

Proof of Theorem eucrctshift
Dummy variables 𝑖 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eucrctshift.v . . . . 5 𝑉 = (Vtx‘𝐺)
2 eucrctshift.i . . . . 5 𝐼 = (iEdg‘𝐺)
3 eucrctshift.c . . . . 5 (𝜑 → 𝐹(Circuits‘𝐺)𝑃)
4 eucrctshift.n . . . . 5 𝑁 = (♯‘𝐹)
5 eucrctshift.s . . . . 5 (𝜑 → 𝑆 ∈ (0..^𝑁))
6 eucrctshift.h . . . . 5 𝐻 = (𝐹 cyclShift 𝑆)
7 eucrctshift.q . . . . 5 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
81, 2, 3, 4, 5, 6, 7crctcshtrl 30442 . . . 4 (𝜑 → 𝐻(Trails‘𝐺)𝑄)
9 simpr 490 . . . . 5 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐻(Trails‘𝐺)𝑄)
10 eucrctshift.e . . . . . . . 8 (𝜑 → 𝐹(EulerPaths‘𝐺)𝑃)
112eupthf1o 30835 . . . . . . . 8 (𝐹(EulerPaths‘𝐺)𝑃 → 𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼)
1210, 11syl 18 . . . . . . 7 (𝜑 → 𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼)
1312adantr 486 . . . . . 6 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼)
14 trliswlk 30310 . . . . . . . 8 (𝐻(Trails‘𝐺)𝑄 → 𝐻(Walks‘𝐺)𝑄)
152wlkf 30225 . . . . . . . 8 (𝐻(Walks‘𝐺)𝑄 → 𝐻 ∈ Word dom 𝐼)
16 wrdf 14690 . . . . . . . 8 (𝐻 ∈ Word dom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼)
17 df-f1o 6565 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))⟶1-1dom 𝐼 ∧ 𝐹:(0..^(♯‘𝐹))⟶ontodom 𝐼))
18 dffo3 7126 . . . . . . . . . . 11 (𝐹:(0..^(♯‘𝐹))⟶ontodom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦)))
19 crctiswlk 30413 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Circuits‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃)
202wlkf 30225 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Walks‘𝐺)𝑃 → 𝐹 ∈ Word dom 𝐼)
21 lencl 14705 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹 ∈ Word dom 𝐼 → (♯‘𝐹) ∈ ℕ0)
224oveq2i 7454 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (0..^𝑁) = (0..^(♯‘𝐹))
2322eleq2i 2856 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑆 ∈ (0..^𝑁) ↔ 𝑆 ∈ (0..^(♯‘𝐹)))
24 elfzonn0 13869 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℕ0)
2524adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℕ0)
26 elfzonn0 13869 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℕ0)
27 nn0sub 12683 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0) → (𝑆 ≤ 𝑦 ↔ (𝑦 − 𝑆) ∈ ℕ0))
2825, 26, 27syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆 ≤ 𝑦 ↔ (𝑦 − 𝑆) ∈ ℕ0))
2928biimpac 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) ∈ ℕ0)
30 elfzo0 13862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) ↔ (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
31 simp2 1155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3230, 31sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑦 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3332ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℕ)
34 nn0re 12642 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑦 ∈ ℕ0 → 𝑦 ∈ ℝ)
3534ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℝ)
36 nnre 12369 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℝ)
3736adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (♯‘𝐹) ∈ ℝ)
3837adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
39 elfzoelz 13820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℤ)
4039zred 12830 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℝ)
41 readdcl 11310 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4237, 40, 41syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4335, 38, 423jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ ∧ ((♯‘𝐹) + 𝑆) ∈ ℝ))
44 elfzole1 13829 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ (0..^(♯‘𝐹)) → 0 ≤ 𝑆)
4544adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 0 ≤ 𝑆)
46 addge01 11853 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4737, 40, 46syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4845, 47mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆))
4943, 48lelttrdi 11499 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5049ex 418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆))))
5150com23 87 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑦 < (♯‘𝐹) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆))))
52513impia 1135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5352adantld 496 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5453imp 412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 < ((♯‘𝐹) + 𝑆))
55343ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
5655adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 ∈ ℝ)
5740ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑆 ∈ ℝ)
58 elfzoel2 13819 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℤ)
5958zred 12830 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
6059ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℝ)
6156, 57, 60ltsubaddd 11939 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) < (♯‘𝐹) ↔ 𝑦 < ((♯‘𝐹) + 𝑆)))
6254, 61mpbird 260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) < (♯‘𝐹))
6362ex 418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹)))
6430, 63sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹)))
6564impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹))
6665adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) < (♯‘𝐹))
67 elfzo0 13862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑦 − 𝑆) ∈ (0..^(♯‘𝐹)) ↔ ((𝑦 − 𝑆) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ (𝑦 − 𝑆) < (♯‘𝐹)))
6829, 33, 66, 67syl3anbrc 1362 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) ∈ (0..^(♯‘𝐹)))
69 oveq1 7450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = (𝑦 − 𝑆) → (𝑧 + 𝑆) = ((𝑦 − 𝑆) + 𝑆))
7069oveq1d 7458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧 = (𝑦 − 𝑆) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)))
7139zcnd 12831 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℂ)
7271adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
73 elfzoelz 13820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℤ)
7473zcnd 12831 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℂ)
7572, 74anim12ci 626 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
7675adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
77 npcan 11593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝑦 − 𝑆) + 𝑆) = 𝑦)
7876, 77syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) + 𝑆) = 𝑦)
7978oveq1d 7458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)) = (𝑦 mod (♯‘𝐹)))
80 zmodidfzoimp 14068 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8180ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8279, 81eqtrd 2798 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)) = 𝑦)
8370, 82sylan9eqr 2820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦 − 𝑆)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
8483eqcomd 2769 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦 − 𝑆)) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
8568, 84rspcedeqvd 3587 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
86 elfzo0 13862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑆 ∈ (0..^(♯‘𝐹)) ↔ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)))
87 nn0cn 12643 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (𝑦 ∈ ℕ0 → 𝑦 ∈ ℂ)
8887ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℂ)
89 nn0cn 12643 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℂ)
90893ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℂ)
9190adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑆 ∈ ℂ)
92 nncn 12370 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℂ)
93923ad2ant2 1152 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℂ)
9493adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
9588, 91, 94subadd23d 11718 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) + (♯‘𝐹)) = (𝑦 + ((♯‘𝐹) − 𝑆)))
96 simpll 779 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℕ0)
97 nn0z 12744 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℤ)
98 nnz 12741 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℤ)
99 znnsub 12769 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑆 ∈ ℤ ∧ (♯‘𝐹) ∈ ℤ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
10097, 98, 99syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
101100biimp3a 1499 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
102101adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
103102nnnn0d 12694 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ0)
10496, 103nn0addcld 12698 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 + ((♯‘𝐹) − 𝑆)) ∈ ℕ0)
10595, 104eqeltrd 2864 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0)
106105adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0)
107 simplr2 1235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (♯‘𝐹) ∈ ℕ)
10887adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℂ)
109 subcl 11583 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → (𝑦 − 𝑆) ∈ ℂ)
110108, 90, 109syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 − 𝑆) ∈ ℂ)
11194, 110jca 521 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ))
112111adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ))
113 addcom 11523 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ) → ((♯‘𝐹) + (𝑦 − 𝑆)) = ((𝑦 − 𝑆) + (♯‘𝐹)))
114112, 113syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) + (𝑦 − 𝑆)) = ((𝑦 − 𝑆) + (♯‘𝐹)))
11534adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
116 nn0re 12642 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℝ)
1171163ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℝ)
118 ltnle 11416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 ↔ ¬ 𝑆 ≤ 𝑦))
119 simpl 488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑦 ∈ ℝ)
120 simpr 490 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑆 ∈ ℝ)
121119, 120sublt0d 11969 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((𝑦 − 𝑆) < 0 ↔ 𝑦 < 𝑆))
122121biimprd 251 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 → (𝑦 − 𝑆) < 0))
123118, 122sylbird 263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (¬ 𝑆 ≤ 𝑦 → (𝑦 − 𝑆) < 0))
124115, 117, 123syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (𝑦 − 𝑆) < 0))
125124imp 412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (𝑦 − 𝑆) < 0)
126 resubcl 11649 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 − 𝑆) ∈ ℝ)
127115, 117, 126syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 − 𝑆) ∈ ℝ)
128363ad2ant2 1152 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
129128adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
130127, 129jca 521 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
131130adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
132 ltaddneg 11553 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ) → ((𝑦 − 𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹)))
133131, 132syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹)))
134125, 133mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹))
135114, 134eqbrtrrd 5132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹))
136106, 107, 1353jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
137136exp31 425 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
1381373adant2 1149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
13986, 138biimtrid 245 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
140139adantld 496 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
14130, 140sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
142141impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹))))
143142impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
144 elfzo0 13862 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)) ↔ (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
145143, 144sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)))
146 oveq1 7450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹)) → (𝑧 + 𝑆) = (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆))
147146oveq1d 7458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)))
14872adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
14974adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℂ)
150 nn0cn 12643 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ ℂ)
151150ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
152148, 149, 1513jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
153152adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
154 simp2 1155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑦 ∈ ℂ)
155 simp3 1156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (♯‘𝐹) ∈ ℂ)
156 simp1 1154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑆 ∈ ℂ)
157154, 156, 155nppcand 11721 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = (𝑦 + (♯‘𝐹)))
158154, 155, 157comraddd 11551 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
159153, 158syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
160159oveq1d 7458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)))
16130biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
162161ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
163 addmodid 14089 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
164162, 163syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
165160, 164eqtrd 2798 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = 𝑦)
166147, 165sylan9eqr 2820 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹))) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
167166eqcomd 2769 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹))) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
168145, 167rspcedeqvd 3587 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
16985, 168pm2.61ian 824 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
17022rexeqi 3322 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) ↔ ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
171169, 170sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
172171exp31 425 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17323, 172biimtrid 245 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17419, 20, 21, 1734syl 20 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝐹(Circuits‘𝐺)𝑃 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
1753, 5, 174sylc 66 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
176175adantr 486 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ 𝑖 ∈ dom 𝐼) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
177176imp 412 . . . . . . . . . . . . . . . . . . . . 21 (((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
178177adantr 486 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
179 fveq2 6908 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → (𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
180179reximi 3104 . . . . . . . . . . . . . . . . . . . 20 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
181178, 180syl 18 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
1823, 19, 203syl 19 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → 𝐹 ∈ Word dom 𝐼)
183182ad3antrrr 743 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝐹 ∈ Word dom 𝐼)
184 elfzoelz 13820 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℤ)
1855, 184syl 18 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → 𝑆 ∈ ℤ)
186185ad3antrrr 743 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝑆 ∈ ℤ)
18722eleq2i 2856 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ (0..^𝑁) ↔ 𝑧 ∈ (0..^(♯‘𝐹)))
188187biimpi 219 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ (0..^𝑁) → 𝑧 ∈ (0..^(♯‘𝐹)))
189 cshwidxmod 14982 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹 ∈ Word dom 𝐼 ∧ 𝑆 ∈ ℤ ∧ 𝑧 ∈ (0..^(♯‘𝐹))) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
190183, 186, 188, 189syl2an3an 1450 . . . . . . . . . . . . . . . . . . . . 21 (((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
191190eqeq2d 2774 . . . . . . . . . . . . . . . . . . . 20 (((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ (𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
192191rexbidva 3188 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
193181, 192mpbird 260 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧))
1941, 2, 3, 4, 5, 6crctcshlem2 30437 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (♯‘𝐻) = 𝑁)
195194oveq2d 7459 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → (0..^(♯‘𝐻)) = (0..^𝑁))
196195ad3antrrr 743 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (0..^(♯‘𝐻)) = (0..^𝑁))
197 simpr 490 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝑖 = (𝐹‘𝑦))
1986fveq1i 6909 . . . . . . . . . . . . . . . . . . . . 21 (𝐻‘𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧)
199198a1i 11 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (𝐻‘𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧))
200197, 199eqeq12d 2779 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (𝑖 = (𝐻‘𝑧) ↔ (𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
201196, 200rexeqbidv 3339 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
202193, 201mpbird 260 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧))
203202rexlimdva2 3169 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ 𝑖 ∈ dom 𝐼) → (∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
204203ralimdva 3178 . . . . . . . . . . . . . . 15 (𝜑 → (∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
205204impcom 413 . . . . . . . . . . . . . 14 ((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) → ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧))
206205anim1ci 628 . . . . . . . . . . . . 13 (((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
207 dffo3 7126 . . . . . . . . . . . . 13 (𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼 ↔ (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
208206, 207sylibr 237 . . . . . . . . . . . 12 (((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)
209208exp31 425 . . . . . . . . . . 11 (∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)))
21018, 209simplbiim 514 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))⟶ontodom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)))
21117, 210simplbiim 514 . . . . . . . . 9 (𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)))
212211com13 89 . . . . . . . 8 (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → (𝜑 → (𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)))
21314, 15, 16, 2124syl 20 . . . . . . 7 (𝐻(Trails‘𝐺)𝑄 → (𝜑 → (𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)))
214213impcom 413 . . . . . 6 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → (𝐹:(0..^(♯‘𝐹))⟶1-1ontodom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼))
21513, 214mpd 16 . . . . 5 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼)
2169, 215jca 521 . . . 4 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼))
2178, 216mpdan 700 . . 3 (𝜑 → (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼))
2182iseupth 30832 . . 3 (𝐻(EulerPaths‘𝐺)𝑄 ↔ (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))⟶ontodom 𝐼))
219217, 218sylibr 237 . 2 (𝜑 → 𝐻(EulerPaths‘𝐺)𝑄)
2201, 2, 3, 4, 5, 6, 7crctcsh 30443 . 2 (𝜑 → 𝐻(Circuits‘𝐺)𝑄)
221219, 220jca 521 1 (𝜑 → (𝐻(EulerPaths‘𝐺)𝑄 ∧ 𝐻(Circuits‘𝐺)𝑄))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2147  ∀wral 3080  ∃wrex 3090  ifcif 4485   class class class wbr 5106   ↦ cmpt 5189  dom cdm 5655  ⟶wf 6554  ⟶1-1wf1 6555  ⟶ontowfo 6556  ⟶1-1ontowf1o 6557  ‘cfv 6558  (class class class)co 7443  ℂcc 11225  ℝcr 11226  0cc0 11227   + caddc 11230   < clt 11370   ≤ cle 11371   − cmin 11568  ℕcn 12362  ℕ0cn0 12633  ℤcz 12720  ...cfz 13666  ..^cfzo 13815   mod cmo 14036  ♯chash 14501  Word cword 14685   cyclShift ccsh 14967  Vtxcvtx 29604  iEdgciedg 29605  Walkscwlks 30207  Trailsctrls 30303  Circuitsccrcts 30401  EulerPathsceupth 30828
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7775  ax-cnex 11283  ax-resscn 11284  ax-1cn 11285  ax-icn 11286  ax-addcl 11287  ax-addrcl 11288  ax-mulcl 11289  ax-mulrcl 11290  ax-mulcom 11291  ax-addass 11292  ax-mulass 11293  ax-distr 11294  ax-i2m1 11295  ax-1ne0 11296  ax-1rid 11297  ax-rnegex 11298  ax-rrecex 11299  ax-cnre 11300  ax-pre-lttri 11301  ax-pre-lttrn 11302  ax-pre-ltadd 11303  ax-pre-mulgt0 11304  ax-pre-sup 11305
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-ifp 1079  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6322  df-ord 6383  df-on 6384  df-lim 6385  df-suc 6386  df-iota 6512  df-fun 6560  df-fn 6561  df-f 6562  df-f1 6563  df-fo 6564  df-f1o 6565  df-fv 6566  df-riota 7400  df-ov 7446  df-oprab 7447  df-mpo 7448  df-om 7902  df-1st 8025  df-2nd 8026  df-frecs 8327  df-wrecs 8358  df-recs 8407  df-rdg 8446  df-1o 8504  df-er 8745  df-map 8877  df-en 9002  df-dom 9003  df-sdom 9004  df-fin 9005  df-sup 9461  df-inf 9462  df-card 10047  df-pnf 11372  df-mnf 11373  df-xr 11374  df-ltxr 11375  df-le 11376  df-sub 11570  df-neg 11571  df-div 12001  df-nn 12363  df-2 12432  df-n0 12634  df-z 12721  df-uz 12993  df-rp 13148  df-ico 13509  df-fz 13667  df-fzo 13816  df-fl 13959  df-mod 14037  df-hash 14502  df-word 14686  df-concat 14743  df-substr 14817  df-pfx 14849  df-csh 14968  df-wlks 30210  df-trls 30305  df-crcts 30403  df-eupth 30829
This theorem is used by:  eucrct2eupth  30876
  Copyright terms: Public domain W3C validator