@@ -192,4 +192,39 @@ ASSUME \A seq \in BoundedSeq(1..5, 5) :
192192 /\ Len ( s ) <= Len ( seq )
193193 /\ Range ( s ) \subseteq Range ( seq )
194194
195+ -----------------------------------------------------------------------------
196+
197+ ASSUME ReplaceFirstSubSeq ( << >> , << >> , << >> ) = << >>
198+ ASSUME ReplaceFirstSubSeq ( << 4 >> , << >> , << >> ) = << 4 >>
199+ ASSUME ReplaceFirstSubSeq ( << 4 >> , << 4 >> , << >> ) = << >>
200+ ASSUME ReplaceFirstSubSeq ( << >> , << >> , << 3 , 2 , 3 , 4 >> ) = << 3 , 2 , 3 , 4 >>
201+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 >> , << 3 , 2 , 3 , 4 >> , << 3 , 2 , 3 , 4 >> ) = << 4 , 4 >>
202+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 >> , << >> , << 3 , 2 , 3 , 4 >> ) = << 4 , 4 , 3 , 2 , 3 , 4 >>
203+
204+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 >> , << 4 >> , << 3 , 2 , 3 , 4 >> ) = << 3 , 2 , 3 , 4 , 4 >>
205+ ASSUME ReplaceFirstSubSeq ( << >> , << 4 >> , << 3 , 2 , 3 , 4 >> ) = << 3 , 2 , 3 >>
206+ ASSUME ReplaceFirstSubSeq ( << >> , << 4 >> , << 3 , 2 , 3 , 4 , 4 >> ) = << 3 , 2 , 3 , 4 >>
207+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 >> , << 3 >> , << 3 , 2 , 3 , 4 >> ) = << 4 , 4 , 2 , 3 , 4 >>
208+ ASSUME ReplaceFirstSubSeq ( << 4 >> , << 1 , 2 >> , << 1 , 2 , 1 , 2 >> ) = << 4 , 1 , 2 >>
209+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 >> , << 1 , 2 >> , << 1 , 2 , 1 , 2 >> ) = << 4 , 4 , 1 , 2 >>
210+ ASSUME ReplaceFirstSubSeq ( << 4 , 4 , 4 >> , << 1 , 2 >> , << 1 , 2 , 1 , 2 >> ) = << 4 , 4 , 4 , 1 , 2 >>
211+
212+ ASSUME ReplaceFirstSubSeq ( << 1 , 2 >> , << 1 , 2 >> , << 1 , 2 , 2 , 1 >> ) = << 1 , 2 , 2 , 1 >>
213+ ASSUME ReplaceFirstSubSeq ( << 2 , 1 >> , << 1 , 2 >> , << 1 , 2 , 2 , 1 >> ) = << 2 , 1 , 2 , 1 >>
214+
215+ ASSUME \A seq \in ( BoundedSeq ( 1 .. 5 , 5 ) \ { << >> } ) :
216+ /\ ReplaceFirstSubSeq ( << 6 >> , << >> , seq ) = << 6 >> \o seq
217+ /\ ReplaceFirstSubSeq ( << 6 >> , << Head ( seq ) >> , seq ) = << 6 >> \o Tail ( seq )
218+
219+ ASSUME ReplaceFirstSubSeq ( "" , "" , "" ) = ""
220+ ASSUME ReplaceFirstSubSeq ( "a" , "" , "" ) = "a"
221+ ASSUME ReplaceFirstSubSeq ( "a" , "b" , "" ) = ""
222+ ASSUME ReplaceFirstSubSeq ( "a" , "d" , "abc" ) = "abc"
223+ ASSUME ReplaceFirstSubSeq ( "ddd" , "ab" , "abab" ) = "dddab"
224+ ASSUME ReplaceFirstSubSeq ( "ddd" , "aa" , "aaa" ) = "ddda"
225+ ASSUME ReplaceFirstSubSeq ( "ddd" , "abab" , "abab" ) = "ddd"
226+
227+ ASSUME ReplaceFirstSubSeq ( "\\ \\ " , "\\ " , "Properly escape the \\ quotes" ) = "Properly escape the \\ \\ quotes"
228+ ASSUME ReplaceFirstSubSeq ( "replaces" , "%pattern%" , "This %pattern% the pattern" ) = "This replaces the pattern"
229+
195230=============================================================================
0 commit comments