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

Theorem eucrct2eupth 29967
Description: Removing one edge (𝐼‘(𝐹𝐽)) from a graph 𝐺 with an Eulerian circuit 𝐹, 𝑃 results in a graph 𝑆 with an Eulerian path 𝐻, 𝑄. (Contributed by AV, 17-Mar-2021.) Hypothesis revised using the prefix operation. (Revised by AV, 30-Nov-2022.)
Hypotheses
Ref Expression
eucrct2eupth1.v 𝑉 = (Vtx‘𝐺)
eucrct2eupth1.i 𝐼 = (iEdg‘𝐺)
eucrct2eupth1.d (𝜑𝐹(EulerPaths‘𝐺)𝑃)
eucrct2eupth1.c (𝜑𝐹(Circuits‘𝐺)𝑃)
eucrct2eupth1.s (Vtx‘𝑆) = 𝑉
eucrct2eupth.n (𝜑𝑁 = (♯‘𝐹))
eucrct2eupth.j (𝜑𝐽 ∈ (0..^𝑁))
eucrct2eupth.e (𝜑 → (iEdg‘𝑆) = (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))))
eucrct2eupth.k 𝐾 = (𝐽 + 1)
eucrct2eupth.h 𝐻 = ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1))
eucrct2eupth.q 𝑄 = (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁))))
Assertion
Ref Expression
eucrct2eupth (𝜑𝐻(EulerPaths‘𝑆)𝑄)
Distinct variable groups:   𝑥,𝐹   𝑥,𝐼   𝑥,𝐽   𝑥,𝐾   𝑥,𝑁   𝑥,𝑃   𝑥,𝑉   𝜑,𝑥
Allowed substitution hints:   𝑄(𝑥)   𝑆(𝑥)   𝐺(𝑥)   𝐻(𝑥)

Proof of Theorem eucrct2eupth
StepHypRef Expression
1 eucrct2eupth1.v . . . 4 𝑉 = (Vtx‘𝐺)
2 eucrct2eupth1.i . . . 4 𝐼 = (iEdg‘𝐺)
3 eucrct2eupth1.d . . . . . 6 (𝜑𝐹(EulerPaths‘𝐺)𝑃)
43adantl 481 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐹(EulerPaths‘𝐺)𝑃)
5 eucrct2eupth.k . . . . . . . 8 𝐾 = (𝐽 + 1)
65eqcomi 2733 . . . . . . 7 (𝐽 + 1) = 𝐾
76oveq2i 7412 . . . . . 6 (𝐹 cyclShift (𝐽 + 1)) = (𝐹 cyclShift 𝐾)
8 oveq1 7408 . . . . . . . . 9 (𝐽 = (𝑁 − 1) → (𝐽 + 1) = ((𝑁 − 1) + 1))
9 eucrct2eupth.j . . . . . . . . . 10 (𝜑𝐽 ∈ (0..^𝑁))
10 elfzo0 13670 . . . . . . . . . . 11 (𝐽 ∈ (0..^𝑁) ↔ (𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁))
11 nncn 12217 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 𝑁 ∈ ℂ)
12113ad2ant2 1131 . . . . . . . . . . 11 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → 𝑁 ∈ ℂ)
1310, 12sylbi 216 . . . . . . . . . 10 (𝐽 ∈ (0..^𝑁) → 𝑁 ∈ ℂ)
14 npcan1 11636 . . . . . . . . . 10 (𝑁 ∈ ℂ → ((𝑁 − 1) + 1) = 𝑁)
159, 13, 143syl 18 . . . . . . . . 9 (𝜑 → ((𝑁 − 1) + 1) = 𝑁)
168, 15sylan9eq 2784 . . . . . . . 8 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐽 + 1) = 𝑁)
1716oveq2d 7417 . . . . . . 7 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift (𝐽 + 1)) = (𝐹 cyclShift 𝑁))
18 eucrct2eupth.n . . . . . . . . . 10 (𝜑𝑁 = (♯‘𝐹))
1918oveq2d 7417 . . . . . . . . 9 (𝜑 → (𝐹 cyclShift 𝑁) = (𝐹 cyclShift (♯‘𝐹)))
20 eucrct2eupth1.c . . . . . . . . . . 11 (𝜑𝐹(Circuits‘𝐺)𝑃)
21 crctiswlk 29522 . . . . . . . . . . . 12 (𝐹(Circuits‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
222wlkf 29340 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃𝐹 ∈ Word dom 𝐼)
2321, 22syl 17 . . . . . . . . . . 11 (𝐹(Circuits‘𝐺)𝑃𝐹 ∈ Word dom 𝐼)
2420, 23syl 17 . . . . . . . . . 10 (𝜑𝐹 ∈ Word dom 𝐼)
25 cshwn 14744 . . . . . . . . . 10 (𝐹 ∈ Word dom 𝐼 → (𝐹 cyclShift (♯‘𝐹)) = 𝐹)
2624, 25syl 17 . . . . . . . . 9 (𝜑 → (𝐹 cyclShift (♯‘𝐹)) = 𝐹)
2719, 26eqtrd 2764 . . . . . . . 8 (𝜑 → (𝐹 cyclShift 𝑁) = 𝐹)
2827adantl 481 . . . . . . 7 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift 𝑁) = 𝐹)
2917, 28eqtrd 2764 . . . . . 6 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift (𝐽 + 1)) = 𝐹)
307, 29eqtr3id 2778 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift 𝐾) = 𝐹)
31 eqid 2724 . . . . . . . . . . . . . 14 (♯‘𝐹) = (♯‘𝐹)
321, 2, 20, 31crctcshlem1 29540 . . . . . . . . . . . . 13 (𝜑 → (♯‘𝐹) ∈ ℕ0)
33 fz0sn0fz1 13615 . . . . . . . . . . . . 13 ((♯‘𝐹) ∈ ℕ0 → (0...(♯‘𝐹)) = ({0} ∪ (1...(♯‘𝐹))))
3432, 33syl 17 . . . . . . . . . . . 12 (𝜑 → (0...(♯‘𝐹)) = ({0} ∪ (1...(♯‘𝐹))))
3534eleq2d 2811 . . . . . . . . . . 11 (𝜑 → (𝑥 ∈ (0...(♯‘𝐹)) ↔ 𝑥 ∈ ({0} ∪ (1...(♯‘𝐹)))))
36 elun 4140 . . . . . . . . . . 11 (𝑥 ∈ ({0} ∪ (1...(♯‘𝐹))) ↔ (𝑥 ∈ {0} ∨ 𝑥 ∈ (1...(♯‘𝐹))))
3735, 36bitrdi 287 . . . . . . . . . 10 (𝜑 → (𝑥 ∈ (0...(♯‘𝐹)) ↔ (𝑥 ∈ {0} ∨ 𝑥 ∈ (1...(♯‘𝐹)))))
38 elsni 4637 . . . . . . . . . . . . . . . 16 (𝑥 ∈ {0} → 𝑥 = 0)
39 0le0 12310 . . . . . . . . . . . . . . . 16 0 ≤ 0
4038, 39eqbrtrdi 5177 . . . . . . . . . . . . . . 15 (𝑥 ∈ {0} → 𝑥 ≤ 0)
4140adantl 481 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ {0}) → 𝑥 ≤ 0)
4241iftrued 4528 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ {0}) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃‘(𝑥 + 𝑁)))
4318fveq2d 6885 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑃𝑁) = (𝑃‘(♯‘𝐹)))
44 crctprop 29518 . . . . . . . . . . . . . . . . . 18 (𝐹(Circuits‘𝐺)𝑃 → (𝐹(Trails‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹))))
45 simpr 484 . . . . . . . . . . . . . . . . . . 19 ((𝐹(Trails‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹))) → (𝑃‘0) = (𝑃‘(♯‘𝐹)))
4645eqcomd 2730 . . . . . . . . . . . . . . . . . 18 ((𝐹(Trails‘𝐺)𝑃 ∧ (𝑃‘0) = (𝑃‘(♯‘𝐹))) → (𝑃‘(♯‘𝐹)) = (𝑃‘0))
4720, 44, 463syl 18 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑃‘(♯‘𝐹)) = (𝑃‘0))
4843, 47eqtrd 2764 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑃𝑁) = (𝑃‘0))
4948adantr 480 . . . . . . . . . . . . . . 15 ((𝜑𝑥 = 0) → (𝑃𝑁) = (𝑃‘0))
50 oveq1 7408 . . . . . . . . . . . . . . . . 17 (𝑥 = 0 → (𝑥 + 𝑁) = (0 + 𝑁))
519, 13syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝑁 ∈ ℂ)
5251addlidd 11412 . . . . . . . . . . . . . . . . 17 (𝜑 → (0 + 𝑁) = 𝑁)
5350, 52sylan9eqr 2786 . . . . . . . . . . . . . . . 16 ((𝜑𝑥 = 0) → (𝑥 + 𝑁) = 𝑁)
5453fveq2d 6885 . . . . . . . . . . . . . . 15 ((𝜑𝑥 = 0) → (𝑃‘(𝑥 + 𝑁)) = (𝑃𝑁))
55 fveq2 6881 . . . . . . . . . . . . . . . 16 (𝑥 = 0 → (𝑃𝑥) = (𝑃‘0))
5655adantl 481 . . . . . . . . . . . . . . 15 ((𝜑𝑥 = 0) → (𝑃𝑥) = (𝑃‘0))
5749, 54, 563eqtr4d 2774 . . . . . . . . . . . . . 14 ((𝜑𝑥 = 0) → (𝑃‘(𝑥 + 𝑁)) = (𝑃𝑥))
5838, 57sylan2 592 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ {0}) → (𝑃‘(𝑥 + 𝑁)) = (𝑃𝑥))
5942, 58eqtrd 2764 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ {0}) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥))
6059ex 412 . . . . . . . . . . 11 (𝜑 → (𝑥 ∈ {0} → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥)))
61 elfznn 13527 . . . . . . . . . . . . . . . 16 (𝑥 ∈ (1...(♯‘𝐹)) → 𝑥 ∈ ℕ)
62 nnnle0 12242 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ℕ → ¬ 𝑥 ≤ 0)
6361, 62syl 17 . . . . . . . . . . . . . . 15 (𝑥 ∈ (1...(♯‘𝐹)) → ¬ 𝑥 ≤ 0)
6463adantl 481 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → ¬ 𝑥 ≤ 0)
6564iffalsed 4531 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃‘((𝑥 + 𝑁) − 𝑁)))
6661nncnd 12225 . . . . . . . . . . . . . . . 16 (𝑥 ∈ (1...(♯‘𝐹)) → 𝑥 ∈ ℂ)
6766adantl 481 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → 𝑥 ∈ ℂ)
6851adantr 480 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → 𝑁 ∈ ℂ)
6967, 68pncand 11569 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → ((𝑥 + 𝑁) − 𝑁) = 𝑥)
7069fveq2d 6885 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → (𝑃‘((𝑥 + 𝑁) − 𝑁)) = (𝑃𝑥))
7165, 70eqtrd 2764 . . . . . . . . . . . 12 ((𝜑𝑥 ∈ (1...(♯‘𝐹))) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥))
7271ex 412 . . . . . . . . . . 11 (𝜑 → (𝑥 ∈ (1...(♯‘𝐹)) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥)))
7360, 72jaod 856 . . . . . . . . . 10 (𝜑 → ((𝑥 ∈ {0} ∨ 𝑥 ∈ (1...(♯‘𝐹))) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥)))
7437, 73sylbid 239 . . . . . . . . 9 (𝜑 → (𝑥 ∈ (0...(♯‘𝐹)) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥)))
7574imp 406 . . . . . . . 8 ((𝜑𝑥 ∈ (0...(♯‘𝐹))) → if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))) = (𝑃𝑥))
7675mpteq2dva 5238 . . . . . . 7 (𝜑 → (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁)))) = (𝑥 ∈ (0...(♯‘𝐹)) ↦ (𝑃𝑥)))
7776adantl 481 . . . . . 6 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁)))) = (𝑥 ∈ (0...(♯‘𝐹)) ↦ (𝑃𝑥)))
785oveq2i 7412 . . . . . . . . . 10 (𝑁𝐾) = (𝑁 − (𝐽 + 1))
798oveq2d 7417 . . . . . . . . . . 11 (𝐽 = (𝑁 − 1) → (𝑁 − (𝐽 + 1)) = (𝑁 − ((𝑁 − 1) + 1)))
8015oveq2d 7417 . . . . . . . . . . . 12 (𝜑 → (𝑁 − ((𝑁 − 1) + 1)) = (𝑁𝑁))
8151subidd 11556 . . . . . . . . . . . 12 (𝜑 → (𝑁𝑁) = 0)
8280, 81eqtrd 2764 . . . . . . . . . . 11 (𝜑 → (𝑁 − ((𝑁 − 1) + 1)) = 0)
8379, 82sylan9eq 2784 . . . . . . . . . 10 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑁 − (𝐽 + 1)) = 0)
8478, 83eqtrid 2776 . . . . . . . . 9 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑁𝐾) = 0)
8584breq2d 5150 . . . . . . . 8 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ≤ (𝑁𝐾) ↔ 𝑥 ≤ 0))
865oveq2i 7412 . . . . . . . . . 10 (𝑥 + 𝐾) = (𝑥 + (𝐽 + 1))
8786fveq2i 6884 . . . . . . . . 9 (𝑃‘(𝑥 + 𝐾)) = (𝑃‘(𝑥 + (𝐽 + 1)))
888oveq2d 7417 . . . . . . . . . . 11 (𝐽 = (𝑁 − 1) → (𝑥 + (𝐽 + 1)) = (𝑥 + ((𝑁 − 1) + 1)))
8915oveq2d 7417 . . . . . . . . . . 11 (𝜑 → (𝑥 + ((𝑁 − 1) + 1)) = (𝑥 + 𝑁))
9088, 89sylan9eq 2784 . . . . . . . . . 10 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 + (𝐽 + 1)) = (𝑥 + 𝑁))
9190fveq2d 6885 . . . . . . . . 9 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑃‘(𝑥 + (𝐽 + 1))) = (𝑃‘(𝑥 + 𝑁)))
9287, 91eqtrid 2776 . . . . . . . 8 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑃‘(𝑥 + 𝐾)) = (𝑃‘(𝑥 + 𝑁)))
9386oveq1i 7411 . . . . . . . . . 10 ((𝑥 + 𝐾) − 𝑁) = ((𝑥 + (𝐽 + 1)) − 𝑁)
9493fveq2i 6884 . . . . . . . . 9 (𝑃‘((𝑥 + 𝐾) − 𝑁)) = (𝑃‘((𝑥 + (𝐽 + 1)) − 𝑁))
9588oveq1d 7416 . . . . . . . . . . 11 (𝐽 = (𝑁 − 1) → ((𝑥 + (𝐽 + 1)) − 𝑁) = ((𝑥 + ((𝑁 − 1) + 1)) − 𝑁))
9689oveq1d 7416 . . . . . . . . . . 11 (𝜑 → ((𝑥 + ((𝑁 − 1) + 1)) − 𝑁) = ((𝑥 + 𝑁) − 𝑁))
9795, 96sylan9eq 2784 . . . . . . . . . 10 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝑥 + (𝐽 + 1)) − 𝑁) = ((𝑥 + 𝑁) − 𝑁))
9897fveq2d 6885 . . . . . . . . 9 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑃‘((𝑥 + (𝐽 + 1)) − 𝑁)) = (𝑃‘((𝑥 + 𝑁) − 𝑁)))
9994, 98eqtrid 2776 . . . . . . . 8 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑃‘((𝑥 + 𝐾) − 𝑁)) = (𝑃‘((𝑥 + 𝑁) − 𝑁)))
10085, 92, 99ifbieq12d 4548 . . . . . . 7 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁))) = if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁))))
101100mpteq2dv 5240 . . . . . 6 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) = (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ 0, (𝑃‘(𝑥 + 𝑁)), (𝑃‘((𝑥 + 𝑁) − 𝑁)))))
10220, 21syl 17 . . . . . . . . 9 (𝜑𝐹(Walks‘𝐺)𝑃)
1031wlkp 29342 . . . . . . . . 9 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶𝑉)
104 ffn 6707 . . . . . . . . 9 (𝑃:(0...(♯‘𝐹))⟶𝑉𝑃 Fn (0...(♯‘𝐹)))
105102, 103, 1043syl 18 . . . . . . . 8 (𝜑𝑃 Fn (0...(♯‘𝐹)))
106105adantl 481 . . . . . . 7 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑃 Fn (0...(♯‘𝐹)))
107 dffn5 6940 . . . . . . 7 (𝑃 Fn (0...(♯‘𝐹)) ↔ 𝑃 = (𝑥 ∈ (0...(♯‘𝐹)) ↦ (𝑃𝑥)))
108106, 107sylib 217 . . . . . 6 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑃 = (𝑥 ∈ (0...(♯‘𝐹)) ↦ (𝑃𝑥)))
10977, 101, 1083eqtr4d 2774 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) = 𝑃)
1104, 30, 1093brtr4d 5170 . . . 4 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
11120adantl 481 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐹(Circuits‘𝐺)𝑃)
112111, 30, 1093brtr4d 5170 . . . 4 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
113 eucrct2eupth1.s . . . 4 (Vtx‘𝑆) = 𝑉
114 elfzolt3 13639 . . . . . . 7 (𝐽 ∈ (0..^𝑁) → 0 < 𝑁)
1159, 114syl 17 . . . . . 6 (𝜑 → 0 < 𝑁)
116 elfzoelz 13629 . . . . . . . . . . 11 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ)
1179, 116syl 17 . . . . . . . . . 10 (𝜑𝐽 ∈ ℤ)
118117peano2zd 12666 . . . . . . . . 9 (𝜑 → (𝐽 + 1) ∈ ℤ)
1195, 118eqeltrid 2829 . . . . . . . 8 (𝜑𝐾 ∈ ℤ)
120 cshwlen 14746 . . . . . . . . 9 ((𝐹 ∈ Word dom 𝐼𝐾 ∈ ℤ) → (♯‘(𝐹 cyclShift 𝐾)) = (♯‘𝐹))
121120eqcomd 2730 . . . . . . . 8 ((𝐹 ∈ Word dom 𝐼𝐾 ∈ ℤ) → (♯‘𝐹) = (♯‘(𝐹 cyclShift 𝐾)))
12224, 119, 121syl2anc 583 . . . . . . 7 (𝜑 → (♯‘𝐹) = (♯‘(𝐹 cyclShift 𝐾)))
12318, 122eqtrd 2764 . . . . . 6 (𝜑𝑁 = (♯‘(𝐹 cyclShift 𝐾)))
124115, 123breqtrd 5164 . . . . 5 (𝜑 → 0 < (♯‘(𝐹 cyclShift 𝐾)))
125124adantl 481 . . . 4 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 0 < (♯‘(𝐹 cyclShift 𝐾)))
126123adantl 481 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑁 = (♯‘(𝐹 cyclShift 𝐾)))
127126oveq1d 7416 . . . 4 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑁 − 1) = ((♯‘(𝐹 cyclShift 𝐾)) − 1))
128 eucrct2eupth.e . . . . . 6 (𝜑 → (iEdg‘𝑆) = (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))))
129128adantl 481 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (iEdg‘𝑆) = (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))))
13024, 18, 93jca 1125 . . . . . . . . 9 (𝜑 → (𝐹 ∈ Word dom 𝐼𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)))
131130adantl 481 . . . . . . . 8 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 ∈ Word dom 𝐼𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)))
132 cshimadifsn0 14778 . . . . . . . 8 ((𝐹 ∈ Word dom 𝐼𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))))
133131, 132syl 17 . . . . . . 7 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))))
1347imaeq1i 6046 . . . . . . 7 ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))) = ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))
135133, 134eqtrdi 2780 . . . . . 6 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1))))
136135reseq2d 5971 . . . . 5 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))) = (𝐼 ↾ ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))))
137129, 136eqtrd 2764 . . . 4 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → (iEdg‘𝑆) = (𝐼 ↾ ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))))
138 eqid 2724 . . . 4 ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1)) = ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1))
139 eqid 2724 . . . 4 ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))) = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1)))
1401, 2, 110, 112, 113, 125, 127, 137, 138, 139eucrct2eupth1 29966 . . 3 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1))(EulerPaths‘𝑆)((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))))
141 eucrct2eupth.h . . . 4 𝐻 = ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1))
142141a1i 11 . . 3 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐻 = ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1)))
143 eucrct2eupth.q . . . . 5 𝑄 = (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁))))
144 fzossfz 13648 . . . . . . . 8 (0..^𝑁) ⊆ (0...𝑁)
14518oveq2d 7417 . . . . . . . 8 (𝜑 → (0...𝑁) = (0...(♯‘𝐹)))
146144, 145sseqtrid 4026 . . . . . . 7 (𝜑 → (0..^𝑁) ⊆ (0...(♯‘𝐹)))
147146resmptd 6030 . . . . . 6 (𝜑 → ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0..^𝑁)) = (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
148 elfzoel2 13628 . . . . . . . 8 (𝐽 ∈ (0..^𝑁) → 𝑁 ∈ ℤ)
149 fzoval 13630 . . . . . . . 8 (𝑁 ∈ ℤ → (0..^𝑁) = (0...(𝑁 − 1)))
1509, 148, 1493syl 18 . . . . . . 7 (𝜑 → (0..^𝑁) = (0...(𝑁 − 1)))
151150reseq2d 5971 . . . . . 6 (𝜑 → ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0..^𝑁)) = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))))
152147, 151eqtr3d 2766 . . . . 5 (𝜑 → (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))))
153143, 152eqtrid 2776 . . . 4 (𝜑𝑄 = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))))
154153adantl 481 . . 3 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑄 = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0...(𝑁 − 1))))
155140, 142, 1543brtr4d 5170 . 2 ((𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐻(EulerPaths‘𝑆)𝑄)
15620adantl 481 . . . 4 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐹(Circuits‘𝐺)𝑃)
157 peano2nn0 12509 . . . . . . . . . . . . 13 (𝐽 ∈ ℕ0 → (𝐽 + 1) ∈ ℕ0)
1581573ad2ant1 1130 . . . . . . . . . . . 12 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (𝐽 + 1) ∈ ℕ0)
159158adantr 480 . . . . . . . . . . 11 (((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) ∧ ¬ 𝐽 = (𝑁 − 1)) → (𝐽 + 1) ∈ ℕ0)
160 simpl2 1189 . . . . . . . . . . 11 (((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) ∧ ¬ 𝐽 = (𝑁 − 1)) → 𝑁 ∈ ℕ)
161 1cnd 11206 . . . . . . . . . . . . . . . 16 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → 1 ∈ ℂ)
162 nn0cn 12479 . . . . . . . . . . . . . . . . 17 (𝐽 ∈ ℕ0𝐽 ∈ ℂ)
1631623ad2ant1 1130 . . . . . . . . . . . . . . . 16 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → 𝐽 ∈ ℂ)
16412, 161, 163subadd2d 11587 . . . . . . . . . . . . . . 15 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → ((𝑁 − 1) = 𝐽 ↔ (𝐽 + 1) = 𝑁))
165 eqcom 2731 . . . . . . . . . . . . . . 15 (𝐽 = (𝑁 − 1) ↔ (𝑁 − 1) = 𝐽)
166 eqcom 2731 . . . . . . . . . . . . . . 15 (𝑁 = (𝐽 + 1) ↔ (𝐽 + 1) = 𝑁)
167164, 165, 1663bitr4g 314 . . . . . . . . . . . . . 14 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (𝐽 = (𝑁 − 1) ↔ 𝑁 = (𝐽 + 1)))
168167necon3bbid 2970 . . . . . . . . . . . . 13 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (¬ 𝐽 = (𝑁 − 1) ↔ 𝑁 ≠ (𝐽 + 1)))
169157nn0red 12530 . . . . . . . . . . . . . . . 16 (𝐽 ∈ ℕ0 → (𝐽 + 1) ∈ ℝ)
1701693ad2ant1 1130 . . . . . . . . . . . . . . 15 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (𝐽 + 1) ∈ ℝ)
171 nnre 12216 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ)
1721713ad2ant2 1131 . . . . . . . . . . . . . . 15 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → 𝑁 ∈ ℝ)
173 nn0z 12580 . . . . . . . . . . . . . . . . 17 (𝐽 ∈ ℕ0𝐽 ∈ ℤ)
174 nnz 12576 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ → 𝑁 ∈ ℤ)
175 zltp1le 12609 . . . . . . . . . . . . . . . . 17 ((𝐽 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝐽 < 𝑁 ↔ (𝐽 + 1) ≤ 𝑁))
176173, 174, 175syl2an 595 . . . . . . . . . . . . . . . 16 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ) → (𝐽 < 𝑁 ↔ (𝐽 + 1) ≤ 𝑁))
177176biimp3a 1465 . . . . . . . . . . . . . . 15 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (𝐽 + 1) ≤ 𝑁)
178170, 172, 177leltned 11364 . . . . . . . . . . . . . 14 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → ((𝐽 + 1) < 𝑁𝑁 ≠ (𝐽 + 1)))
179178biimprd 247 . . . . . . . . . . . . 13 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (𝑁 ≠ (𝐽 + 1) → (𝐽 + 1) < 𝑁))
180168, 179sylbid 239 . . . . . . . . . . . 12 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (¬ 𝐽 = (𝑁 − 1) → (𝐽 + 1) < 𝑁))
181180imp 406 . . . . . . . . . . 11 (((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) ∧ ¬ 𝐽 = (𝑁 − 1)) → (𝐽 + 1) < 𝑁)
182159, 160, 1813jca 1125 . . . . . . . . . 10 (((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) ∧ ¬ 𝐽 = (𝑁 − 1)) → ((𝐽 + 1) ∈ ℕ0𝑁 ∈ ℕ ∧ (𝐽 + 1) < 𝑁))
183182ex 412 . . . . . . . . 9 ((𝐽 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐽 < 𝑁) → (¬ 𝐽 = (𝑁 − 1) → ((𝐽 + 1) ∈ ℕ0𝑁 ∈ ℕ ∧ (𝐽 + 1) < 𝑁)))
18410, 183sylbi 216 . . . . . . . 8 (𝐽 ∈ (0..^𝑁) → (¬ 𝐽 = (𝑁 − 1) → ((𝐽 + 1) ∈ ℕ0𝑁 ∈ ℕ ∧ (𝐽 + 1) < 𝑁)))
185 elfzo0 13670 . . . . . . . 8 ((𝐽 + 1) ∈ (0..^𝑁) ↔ ((𝐽 + 1) ∈ ℕ0𝑁 ∈ ℕ ∧ (𝐽 + 1) < 𝑁))
186184, 185imbitrrdi 251 . . . . . . 7 (𝐽 ∈ (0..^𝑁) → (¬ 𝐽 = (𝑁 − 1) → (𝐽 + 1) ∈ (0..^𝑁)))
1879, 186syl 17 . . . . . 6 (𝜑 → (¬ 𝐽 = (𝑁 − 1) → (𝐽 + 1) ∈ (0..^𝑁)))
188187impcom 407 . . . . 5 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐽 + 1) ∈ (0..^𝑁))
1895a1i 11 . . . . 5 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐾 = (𝐽 + 1))
19018eqcomd 2730 . . . . . . 7 (𝜑 → (♯‘𝐹) = 𝑁)
191190oveq2d 7417 . . . . . 6 (𝜑 → (0..^(♯‘𝐹)) = (0..^𝑁))
192191adantl 481 . . . . 5 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (0..^(♯‘𝐹)) = (0..^𝑁))
193188, 189, 1923eltr4d 2840 . . . 4 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐾 ∈ (0..^(♯‘𝐹)))
194 eqid 2724 . . . 4 (𝐹 cyclShift 𝐾) = (𝐹 cyclShift 𝐾)
195 eqid 2724 . . . 4 (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) = (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹)))))
1963adantl 481 . . . 4 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐹(EulerPaths‘𝐺)𝑃)
1971, 2, 156, 31, 193, 194, 195, 196eucrctshift 29965 . . 3 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹)))))))
198 simprl 768 . . . . 5 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → (𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))
199 simprr 770 . . . . 5 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))
200124ad2antlr 724 . . . . 5 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → 0 < (♯‘(𝐹 cyclShift 𝐾)))
201123oveq1d 7416 . . . . . 6 (𝜑 → (𝑁 − 1) = ((♯‘(𝐹 cyclShift 𝐾)) − 1))
202201ad2antlr 724 . . . . 5 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → (𝑁 − 1) = ((♯‘(𝐹 cyclShift 𝐾)) − 1))
203128adantl 481 . . . . . . 7 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (iEdg‘𝑆) = (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))))
204130adantl 481 . . . . . . . . . 10 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 ∈ Word dom 𝐼𝑁 = (♯‘𝐹) ∧ 𝐽 ∈ (0..^𝑁)))
205204, 132syl 17 . . . . . . . . 9 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift (𝐽 + 1)) “ (0..^(𝑁 − 1))))
206205, 134eqtrdi 2780 . . . . . . . 8 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐹 “ ((0..^𝑁) ∖ {𝐽})) = ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1))))
207206reseq2d 5971 . . . . . . 7 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝐼 ↾ (𝐹 “ ((0..^𝑁) ∖ {𝐽}))) = (𝐼 ↾ ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))))
208203, 207eqtrd 2764 . . . . . 6 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (iEdg‘𝑆) = (𝐼 ↾ ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))))
209208adantr 480 . . . . 5 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → (iEdg‘𝑆) = (𝐼 ↾ ((𝐹 cyclShift 𝐾) “ (0..^(𝑁 − 1)))))
210 eqid 2724 . . . . 5 ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))) = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1)))
2111, 2, 198, 199, 113, 200, 202, 209, 138, 210eucrct2eupth1 29966 . . . 4 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1))(EulerPaths‘𝑆)((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))))
212141a1i 11 . . . 4 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → 𝐻 = ((𝐹 cyclShift 𝐾) prefix (𝑁 − 1)))
213190oveq1d 7416 . . . . . . . . . . . 12 (𝜑 → ((♯‘𝐹) − 𝐾) = (𝑁𝐾))
214213breq2d 5150 . . . . . . . . . . 11 (𝜑 → (𝑥 ≤ ((♯‘𝐹) − 𝐾) ↔ 𝑥 ≤ (𝑁𝐾)))
215214adantl 481 . . . . . . . . . 10 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ≤ ((♯‘𝐹) − 𝐾) ↔ 𝑥 ≤ (𝑁𝐾)))
216190oveq2d 7417 . . . . . . . . . . . 12 (𝜑 → ((𝑥 + 𝐾) − (♯‘𝐹)) = ((𝑥 + 𝐾) − 𝑁))
217216fveq2d 6885 . . . . . . . . . . 11 (𝜑 → (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))) = (𝑃‘((𝑥 + 𝐾) − 𝑁)))
218217adantl 481 . . . . . . . . . 10 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))) = (𝑃‘((𝑥 + 𝐾) − 𝑁)))
219215, 218ifbieq2d 4546 . . . . . . . . 9 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹)))) = if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁))))
220219mpteq2dv 5240 . . . . . . . 8 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) = (𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
221150eqcomd 2730 . . . . . . . . 9 (𝜑 → (0...(𝑁 − 1)) = (0..^𝑁))
222221adantl 481 . . . . . . . 8 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (0...(𝑁 − 1)) = (0..^𝑁))
223220, 222reseq12d 5972 . . . . . . 7 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))) = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0..^𝑁)))
22418adantl 481 . . . . . . . . . 10 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑁 = (♯‘𝐹))
225224oveq2d 7417 . . . . . . . . 9 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (0...𝑁) = (0...(♯‘𝐹)))
226144, 225sseqtrid 4026 . . . . . . . 8 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → (0..^𝑁) ⊆ (0...(♯‘𝐹)))
227226resmptd 6030 . . . . . . 7 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))) ↾ (0..^𝑁)) = (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
228223, 227eqtrd 2764 . . . . . 6 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))) = (𝑥 ∈ (0..^𝑁) ↦ if(𝑥 ≤ (𝑁𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − 𝑁)))))
229143, 228eqtr4id 2783 . . . . 5 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝑄 = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))))
230229adantr 480 . . . 4 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → 𝑄 = ((𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ↾ (0...(𝑁 − 1))))
231211, 212, 2303brtr4d 5170 . . 3 (((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) ∧ ((𝐹 cyclShift 𝐾)(EulerPaths‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))) ∧ (𝐹 cyclShift 𝐾)(Circuits‘𝐺)(𝑥 ∈ (0...(♯‘𝐹)) ↦ if(𝑥 ≤ ((♯‘𝐹) − 𝐾), (𝑃‘(𝑥 + 𝐾)), (𝑃‘((𝑥 + 𝐾) − (♯‘𝐹))))))) → 𝐻(EulerPaths‘𝑆)𝑄)
232197, 231mpdan 684 . 2 ((¬ 𝐽 = (𝑁 − 1) ∧ 𝜑) → 𝐻(EulerPaths‘𝑆)𝑄)
233155, 232pm2.61ian 809 1 (𝜑𝐻(EulerPaths‘𝑆)𝑄)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 395  wo 844  w3a 1084   = wceq 1533  wcel 2098  wne 2932  cdif 3937  cun 3938  ifcif 4520  {csn 4620   class class class wbr 5138  cmpt 5221  dom cdm 5666  cres 5668  cima 5669   Fn wfn 6528  wf 6529  cfv 6533  (class class class)co 7401  cc 11104  cr 11105  0cc0 11106  1c1 11107   + caddc 11109   < clt 11245  cle 11246  cmin 11441  cn 12209  0cn0 12469  cz 12555  ...cfz 13481  ..^cfzo 13624  chash 14287  Word cword 14461   prefix cpfx 14617   cyclShift ccsh 14735  Vtxcvtx 28725  iEdgciedg 28726  Walkscwlks 29322  Trailsctrls 29416  Circuitsccrcts 29510  EulerPathsceupth 29919
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2163  ax-ext 2695  ax-rep 5275  ax-sep 5289  ax-nul 5296  ax-pow 5353  ax-pr 5417  ax-un 7718  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183  ax-pre-sup 11184
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 845  df-ifp 1060  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2526  df-eu 2555  df-clab 2702  df-cleq 2716  df-clel 2802  df-nfc 2877  df-ne 2933  df-nel 3039  df-ral 3054  df-rex 3063  df-rmo 3368  df-reu 3369  df-rab 3425  df-v 3468  df-sbc 3770  df-csb 3886  df-dif 3943  df-un 3945  df-in 3947  df-ss 3957  df-pss 3959  df-nul 4315  df-if 4521  df-pw 4596  df-sn 4621  df-pr 4623  df-op 4627  df-uni 4900  df-int 4941  df-iun 4989  df-br 5139  df-opab 5201  df-mpt 5222  df-tr 5256  df-id 5564  df-eprel 5570  df-po 5578  df-so 5579  df-fr 5621  df-we 5623  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6290  df-ord 6357  df-on 6358  df-lim 6359  df-suc 6360  df-iota 6485  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7357  df-ov 7404  df-oprab 7405  df-mpo 7406  df-om 7849  df-1st 7968  df-2nd 7969  df-frecs 8261  df-wrecs 8292  df-recs 8366  df-rdg 8405  df-1o 8461  df-er 8699  df-map 8818  df-pm 8819  df-en 8936  df-dom 8937  df-sdom 8938  df-fin 8939  df-sup 9433  df-inf 9434  df-card 9930  df-pnf 11247  df-mnf 11248  df-xr 11249  df-ltxr 11250  df-le 11251  df-sub 11443  df-neg 11444  df-div 11869  df-nn 12210  df-2 12272  df-n0 12470  df-z 12556  df-uz 12820  df-rp 12972  df-ico 13327  df-fz 13482  df-fzo 13625  df-fl 13754  df-mod 13832  df-hash 14288  df-word 14462  df-concat 14518  df-substr 14588  df-pfx 14618  df-csh 14736  df-wlks 29325  df-trls 29418  df-crcts 29512  df-eupth 29920
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator