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

Theorem splvalpfxOLD 13820
Description: Obsolete proof of splval 13821 as of 12-Oct-2022. (Contributed by AV, 11-May-2020.) (New usage is discouraged.) (Proof modification is discouraged.)
Assertion
Ref Expression
splvalpfxOLD ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (𝑆 spliceOLD ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))

Proof of Theorem splvalpfxOLD
Dummy variables 𝑠 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-spliceOLD 13819 . . 3 spliceOLD = (𝑠 ∈ V, 𝑏 ∈ V ↦ (((𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) ++ (2nd𝑏)) ++ (𝑠 substr ⟨(2nd ‘(1st𝑏)), (♯‘𝑠)⟩)))
21a1i 11 . 2 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → spliceOLD = (𝑠 ∈ V, 𝑏 ∈ V ↦ (((𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) ++ (2nd𝑏)) ++ (𝑠 substr ⟨(2nd ‘(1st𝑏)), (♯‘𝑠)⟩))))
3 simprl 788 . . . . . 6 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → 𝑠 = 𝑆)
4 2fveq3 6415 . . . . . . . . 9 (𝑏 = ⟨𝐹, 𝑇, 𝑅⟩ → (1st ‘(1st𝑏)) = (1st ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)))
54adantl 474 . . . . . . . 8 ((𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩) → (1st ‘(1st𝑏)) = (1st ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)))
6 ot1stg 7414 . . . . . . . . 9 ((𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌) → (1st ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)) = 𝐹)
76adantl 474 . . . . . . . 8 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (1st ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)) = 𝐹)
85, 7sylan9eqr 2854 . . . . . . 7 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (1st ‘(1st𝑏)) = 𝐹)
98opeq2d 4599 . . . . . 6 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → ⟨0, (1st ‘(1st𝑏))⟩ = ⟨0, 𝐹⟩)
103, 9oveq12d 6895 . . . . 5 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) = (𝑆 substr ⟨0, 𝐹⟩))
11 simp1 1167 . . . . . . . 8 ((𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌) → 𝐹 ∈ ℕ0)
1211anim2i 611 . . . . . . 7 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (𝑆𝑉𝐹 ∈ ℕ0))
1312adantr 473 . . . . . 6 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (𝑆𝑉𝐹 ∈ ℕ0))
14 pfxval 13713 . . . . . 6 ((𝑆𝑉𝐹 ∈ ℕ0) → (𝑆 prefix 𝐹) = (𝑆 substr ⟨0, 𝐹⟩))
1513, 14syl 17 . . . . 5 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (𝑆 prefix 𝐹) = (𝑆 substr ⟨0, 𝐹⟩))
1610, 15eqtr4d 2835 . . . 4 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) = (𝑆 prefix 𝐹))
17 fveq2 6410 . . . . . 6 (𝑏 = ⟨𝐹, 𝑇, 𝑅⟩ → (2nd𝑏) = (2nd ‘⟨𝐹, 𝑇, 𝑅⟩))
1817adantl 474 . . . . 5 ((𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩) → (2nd𝑏) = (2nd ‘⟨𝐹, 𝑇, 𝑅⟩))
19 ot3rdg 7416 . . . . . . 7 (𝑅𝑌 → (2nd ‘⟨𝐹, 𝑇, 𝑅⟩) = 𝑅)
20193ad2ant3 1166 . . . . . 6 ((𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌) → (2nd ‘⟨𝐹, 𝑇, 𝑅⟩) = 𝑅)
2120adantl 474 . . . . 5 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (2nd ‘⟨𝐹, 𝑇, 𝑅⟩) = 𝑅)
2218, 21sylan9eqr 2854 . . . 4 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (2nd𝑏) = 𝑅)
2316, 22oveq12d 6895 . . 3 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → ((𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) ++ (2nd𝑏)) = ((𝑆 prefix 𝐹) ++ 𝑅))
24 2fveq3 6415 . . . . . . 7 (𝑏 = ⟨𝐹, 𝑇, 𝑅⟩ → (2nd ‘(1st𝑏)) = (2nd ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)))
2524adantl 474 . . . . . 6 ((𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩) → (2nd ‘(1st𝑏)) = (2nd ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)))
26 ot2ndg 7415 . . . . . . 7 ((𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌) → (2nd ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)) = 𝑇)
2726adantl 474 . . . . . 6 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (2nd ‘(1st ‘⟨𝐹, 𝑇, 𝑅⟩)) = 𝑇)
2825, 27sylan9eqr 2854 . . . . 5 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (2nd ‘(1st𝑏)) = 𝑇)
293fveq2d 6414 . . . . 5 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (♯‘𝑠) = (♯‘𝑆))
3028, 29opeq12d 4600 . . . 4 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → ⟨(2nd ‘(1st𝑏)), (♯‘𝑠)⟩ = ⟨𝑇, (♯‘𝑆)⟩)
313, 30oveq12d 6895 . . 3 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (𝑠 substr ⟨(2nd ‘(1st𝑏)), (♯‘𝑠)⟩) = (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))
3223, 31oveq12d 6895 . 2 (((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) ∧ (𝑠 = 𝑆𝑏 = ⟨𝐹, 𝑇, 𝑅⟩)) → (((𝑠 substr ⟨0, (1st ‘(1st𝑏))⟩) ++ (2nd𝑏)) ++ (𝑠 substr ⟨(2nd ‘(1st𝑏)), (♯‘𝑠)⟩)) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
33 elex 3399 . . 3 (𝑆𝑉𝑆 ∈ V)
3433adantr 473 . 2 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → 𝑆 ∈ V)
35 otex 5123 . . 3 𝐹, 𝑇, 𝑅⟩ ∈ V
3635a1i 11 . 2 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → ⟨𝐹, 𝑇, 𝑅⟩ ∈ V)
37 ovexd 6911 . 2 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)) ∈ V)
382, 32, 34, 36, 37ovmpt2d 7021 1 ((𝑆𝑉 ∧ (𝐹 ∈ ℕ0𝑇𝑋𝑅𝑌)) → (𝑆 spliceOLD ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 385  w3a 1108   = wceq 1653  wcel 2157  Vcvv 3384  cop 4373  cotp 4375  cfv 6100  (class class class)co 6877  cmpt2 6879  1st c1st 7398  2nd c2nd 7399  0cc0 10223  0cn0 11577  chash 13367   ++ cconcat 13587   substr csubstr 13661   prefix cpfx 13710   spliceOLD cspliceold 13817
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1891  ax-4 1905  ax-5 2006  ax-6 2072  ax-7 2107  ax-8 2159  ax-9 2166  ax-10 2185  ax-11 2200  ax-12 2213  ax-13 2377  ax-ext 2776  ax-sep 4974  ax-nul 4982  ax-pow 5034  ax-pr 5096  ax-un 7182
This theorem depends on definitions:  df-bi 199  df-an 386  df-or 875  df-3an 1110  df-tru 1657  df-ex 1876  df-nf 1880  df-sb 2065  df-mo 2591  df-eu 2609  df-clab 2785  df-cleq 2791  df-clel 2794  df-nfc 2929  df-ral 3093  df-rex 3094  df-rab 3097  df-v 3386  df-sbc 3633  df-dif 3771  df-un 3773  df-in 3775  df-ss 3782  df-nul 4115  df-if 4277  df-sn 4368  df-pr 4370  df-op 4374  df-ot 4376  df-uni 4628  df-br 4843  df-opab 4905  df-mpt 4922  df-id 5219  df-xp 5317  df-rel 5318  df-cnv 5319  df-co 5320  df-dm 5321  df-rn 5322  df-iota 6063  df-fun 6102  df-fv 6108  df-ov 6880  df-oprab 6881  df-mpt2 6882  df-1st 7400  df-2nd 7401  df-pfx 13711  df-spliceOLD 13819
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator