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

Theorem swrdeq 13238
Description: Two subwords of words are equal iff they have the same length and the same symbols at each position. (Contributed by Alexander van der Vekens, 7-Aug-2018.)
Assertion
Ref Expression
swrdeq (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((𝑊 substr ⟨0, 𝑀⟩) = (𝑈 substr ⟨0, 𝑁⟩) ↔ (𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖))))
Distinct variable groups:   𝑖,𝑀   𝑖,𝑁   𝑈,𝑖   𝑖,𝑉   𝑖,𝑊

Proof of Theorem swrdeq
StepHypRef Expression
1 swrdcl 13213 . . . . 5 (𝑊 ∈ Word 𝑉 → (𝑊 substr ⟨0, 𝑀⟩) ∈ Word 𝑉)
2 swrdcl 13213 . . . . 5 (𝑈 ∈ Word 𝑉 → (𝑈 substr ⟨0, 𝑁⟩) ∈ Word 𝑉)
31, 2anim12i 587 . . . 4 ((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) → ((𝑊 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ (𝑈 substr ⟨0, 𝑁⟩) ∈ Word 𝑉))
433ad2ant1 1074 . . 3 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((𝑊 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ (𝑈 substr ⟨0, 𝑁⟩) ∈ Word 𝑉))
5 eqwrd 13143 . . 3 (((𝑊 substr ⟨0, 𝑀⟩) ∈ Word 𝑉 ∧ (𝑈 substr ⟨0, 𝑁⟩) ∈ Word 𝑉) → ((𝑊 substr ⟨0, 𝑀⟩) = (𝑈 substr ⟨0, 𝑁⟩) ↔ ((#‘(𝑊 substr ⟨0, 𝑀⟩)) = (#‘(𝑈 substr ⟨0, 𝑁⟩)) ∧ ∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖))))
64, 5syl 17 . 2 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((𝑊 substr ⟨0, 𝑀⟩) = (𝑈 substr ⟨0, 𝑁⟩) ↔ ((#‘(𝑊 substr ⟨0, 𝑀⟩)) = (#‘(𝑈 substr ⟨0, 𝑁⟩)) ∧ ∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖))))
7 simpl 471 . . . . . 6 ((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) → 𝑊 ∈ Word 𝑉)
873ad2ant1 1074 . . . . 5 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑊 ∈ Word 𝑉)
9 simpl 471 . . . . . . 7 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℕ0)
1093ad2ant2 1075 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑀 ∈ ℕ0)
11 lencl 13121 . . . . . . . 8 (𝑊 ∈ Word 𝑉 → (#‘𝑊) ∈ ℕ0)
1211adantr 479 . . . . . . 7 ((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) → (#‘𝑊) ∈ ℕ0)
13123ad2ant1 1074 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (#‘𝑊) ∈ ℕ0)
14 simpl 471 . . . . . . 7 ((𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)) → 𝑀 ≤ (#‘𝑊))
15143ad2ant3 1076 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑀 ≤ (#‘𝑊))
16 elfz2nn0 12251 . . . . . 6 (𝑀 ∈ (0...(#‘𝑊)) ↔ (𝑀 ∈ ℕ0 ∧ (#‘𝑊) ∈ ℕ0𝑀 ≤ (#‘𝑊)))
1710, 13, 15, 16syl3anbrc 1238 . . . . 5 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑀 ∈ (0...(#‘𝑊)))
18 swrd0len 13216 . . . . 5 ((𝑊 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑊))) → (#‘(𝑊 substr ⟨0, 𝑀⟩)) = 𝑀)
198, 17, 18syl2anc 690 . . . 4 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (#‘(𝑊 substr ⟨0, 𝑀⟩)) = 𝑀)
20 simpr 475 . . . . . 6 ((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) → 𝑈 ∈ Word 𝑉)
21203ad2ant1 1074 . . . . 5 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑈 ∈ Word 𝑉)
22 simpr 475 . . . . . . 7 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℕ0)
23223ad2ant2 1075 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑁 ∈ ℕ0)
24 lencl 13121 . . . . . . . 8 (𝑈 ∈ Word 𝑉 → (#‘𝑈) ∈ ℕ0)
2524adantl 480 . . . . . . 7 ((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) → (#‘𝑈) ∈ ℕ0)
26253ad2ant1 1074 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (#‘𝑈) ∈ ℕ0)
27 simpr 475 . . . . . . 7 ((𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)) → 𝑁 ≤ (#‘𝑈))
28273ad2ant3 1076 . . . . . 6 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑁 ≤ (#‘𝑈))
29 elfz2nn0 12251 . . . . . 6 (𝑁 ∈ (0...(#‘𝑈)) ↔ (𝑁 ∈ ℕ0 ∧ (#‘𝑈) ∈ ℕ0𝑁 ≤ (#‘𝑈)))
3023, 26, 28, 29syl3anbrc 1238 . . . . 5 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → 𝑁 ∈ (0...(#‘𝑈)))
31 swrd0len 13216 . . . . 5 ((𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈))) → (#‘(𝑈 substr ⟨0, 𝑁⟩)) = 𝑁)
3221, 30, 31syl2anc 690 . . . 4 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (#‘(𝑈 substr ⟨0, 𝑁⟩)) = 𝑁)
3319, 32eqeq12d 2620 . . 3 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((#‘(𝑊 substr ⟨0, 𝑀⟩)) = (#‘(𝑈 substr ⟨0, 𝑁⟩)) ↔ 𝑀 = 𝑁))
3433anbi1d 736 . 2 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (((#‘(𝑊 substr ⟨0, 𝑀⟩)) = (#‘(𝑈 substr ⟨0, 𝑁⟩)) ∧ ∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖)) ↔ (𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖))))
358adantr 479 . . . . . . 7 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → 𝑊 ∈ Word 𝑉)
3617adantr 479 . . . . . . 7 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → 𝑀 ∈ (0...(#‘𝑊)))
3735, 36, 18syl2anc 690 . . . . . 6 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (#‘(𝑊 substr ⟨0, 𝑀⟩)) = 𝑀)
3837oveq2d 6539 . . . . 5 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩))) = (0..^𝑀))
3938raleqdv 3116 . . . 4 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) ↔ ∀𝑖 ∈ (0..^𝑀)((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖)))
4035adantr 479 . . . . . . 7 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → 𝑊 ∈ Word 𝑉)
4136adantr 479 . . . . . . 7 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → 𝑀 ∈ (0...(#‘𝑊)))
42 simpr 475 . . . . . . 7 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → 𝑖 ∈ (0..^𝑀))
43 swrd0fv 13233 . . . . . . 7 ((𝑊 ∈ Word 𝑉𝑀 ∈ (0...(#‘𝑊)) ∧ 𝑖 ∈ (0..^𝑀)) → ((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑊𝑖))
4440, 41, 42, 43syl3anc 1317 . . . . . 6 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → ((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = (𝑊𝑖))
45 oveq2 6531 . . . . . . . . . . 11 (𝑀 = 𝑁 → (0..^𝑀) = (0..^𝑁))
4645eleq2d 2668 . . . . . . . . . 10 (𝑀 = 𝑁 → (𝑖 ∈ (0..^𝑀) ↔ 𝑖 ∈ (0..^𝑁)))
4746adantl 480 . . . . . . . . 9 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (𝑖 ∈ (0..^𝑀) ↔ 𝑖 ∈ (0..^𝑁)))
4821adantr 479 . . . . . . . . . . . 12 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑖 ∈ (0..^𝑁)) → 𝑈 ∈ Word 𝑉)
4930adantr 479 . . . . . . . . . . . 12 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑖 ∈ (0..^𝑁)) → 𝑁 ∈ (0...(#‘𝑈)))
50 simpr 475 . . . . . . . . . . . 12 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑖 ∈ (0..^𝑁)) → 𝑖 ∈ (0..^𝑁))
5148, 49, 503jca 1234 . . . . . . . . . . 11 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑖 ∈ (0..^𝑁)) → (𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁)))
5251ex 448 . . . . . . . . . 10 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (𝑖 ∈ (0..^𝑁) → (𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁))))
5352adantr 479 . . . . . . . . 9 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (𝑖 ∈ (0..^𝑁) → (𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁))))
5447, 53sylbid 228 . . . . . . . 8 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (𝑖 ∈ (0..^𝑀) → (𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁))))
5554imp 443 . . . . . . 7 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → (𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁)))
56 swrd0fv 13233 . . . . . . 7 ((𝑈 ∈ Word 𝑉𝑁 ∈ (0...(#‘𝑈)) ∧ 𝑖 ∈ (0..^𝑁)) → ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) = (𝑈𝑖))
5755, 56syl 17 . . . . . 6 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) = (𝑈𝑖))
5844, 57eqeq12d 2620 . . . . 5 (((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) ∧ 𝑖 ∈ (0..^𝑀)) → (((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) ↔ (𝑊𝑖) = (𝑈𝑖)))
5958ralbidva 2963 . . . 4 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (∀𝑖 ∈ (0..^𝑀)((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) ↔ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖)))
6039, 59bitrd 266 . . 3 ((((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 = 𝑁) → (∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖) ↔ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖)))
6160pm5.32da 670 . 2 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^(#‘(𝑊 substr ⟨0, 𝑀⟩)))((𝑊 substr ⟨0, 𝑀⟩)‘𝑖) = ((𝑈 substr ⟨0, 𝑁⟩)‘𝑖)) ↔ (𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖))))
626, 34, 613bitrd 292 1 (((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → ((𝑊 substr ⟨0, 𝑀⟩) = (𝑈 substr ⟨0, 𝑁⟩) ↔ (𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 194  wa 382  w3a 1030   = wceq 1474  wcel 1975  wral 2891  cop 4126   class class class wbr 4573  cfv 5786  (class class class)co 6523  0cc0 9788  cle 9927  0cn0 11135  ...cfz 12148  ..^cfzo 12285  #chash 12930  Word cword 13088   substr csubstr 13092
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1711  ax-4 1726  ax-5 1825  ax-6 1873  ax-7 1920  ax-8 1977  ax-9 1984  ax-10 2004  ax-11 2019  ax-12 2031  ax-13 2228  ax-ext 2585  ax-rep 4689  ax-sep 4699  ax-nul 4708  ax-pow 4760  ax-pr 4824  ax-un 6820  ax-cnex 9844  ax-resscn 9845  ax-1cn 9846  ax-icn 9847  ax-addcl 9848  ax-addrcl 9849  ax-mulcl 9850  ax-mulrcl 9851  ax-mulcom 9852  ax-addass 9853  ax-mulass 9854  ax-distr 9855  ax-i2m1 9856  ax-1ne0 9857  ax-1rid 9858  ax-rnegex 9859  ax-rrecex 9860  ax-cnre 9861  ax-pre-lttri 9862  ax-pre-lttrn 9863  ax-pre-ltadd 9864  ax-pre-mulgt0 9865
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1700  df-sb 1866  df-eu 2457  df-mo 2458  df-clab 2592  df-cleq 2598  df-clel 2601  df-nfc 2735  df-ne 2777  df-nel 2778  df-ral 2896  df-rex 2897  df-reu 2898  df-rab 2900  df-v 3170  df-sbc 3398  df-csb 3495  df-dif 3538  df-un 3540  df-in 3542  df-ss 3549  df-pss 3551  df-nul 3870  df-if 4032  df-pw 4105  df-sn 4121  df-pr 4123  df-tp 4125  df-op 4127  df-uni 4363  df-int 4401  df-iun 4447  df-br 4574  df-opab 4634  df-mpt 4635  df-tr 4671  df-eprel 4935  df-id 4939  df-po 4945  df-so 4946  df-fr 4983  df-we 4985  df-xp 5030  df-rel 5031  df-cnv 5032  df-co 5033  df-dm 5034  df-rn 5035  df-res 5036  df-ima 5037  df-pred 5579  df-ord 5625  df-on 5626  df-lim 5627  df-suc 5628  df-iota 5750  df-fun 5788  df-fn 5789  df-f 5790  df-f1 5791  df-fo 5792  df-f1o 5793  df-fv 5794  df-riota 6485  df-ov 6526  df-oprab 6527  df-mpt2 6528  df-om 6931  df-1st 7032  df-2nd 7033  df-wrecs 7267  df-recs 7328  df-rdg 7366  df-1o 7420  df-oadd 7424  df-er 7602  df-en 7815  df-dom 7816  df-sdom 7817  df-fin 7818  df-card 8621  df-pnf 9928  df-mnf 9929  df-xr 9930  df-ltxr 9931  df-le 9932  df-sub 10115  df-neg 10116  df-nn 10864  df-n0 11136  df-z 11207  df-uz 11516  df-fz 12149  df-fzo 12286  df-hash 12931  df-word 13096  df-substr 13100
This theorem is referenced by:  clwlkf1clwwlklem  26138  clwlksf1clwwlklem  41273
  Copyright terms: Public domain W3C validator