Joshua Moerman
4 years ago
1 changed files with 112 additions and 0 deletions
@ -0,0 +1,112 @@ |
|||
(declare-const H0 String) |
|||
(declare-const H1 String) |
|||
(declare-const H2 String) |
|||
(declare-const H3 String) |
|||
(declare-const H4 String) |
|||
|
|||
(declare-const V0 String) |
|||
(declare-const V1 String) |
|||
(declare-const V2 String) |
|||
(declare-const V3 String) |
|||
(declare-const V4 String) |
|||
|
|||
(assert (str.in.re H0 |
|||
(re.++ (re.union (str.to.re "I") (str.to.re "T")) |
|||
(re.* (str.to.re "O")) |
|||
(re.* (re.union (str.to.re "BE") (str.to.re "AD"))) |
|||
(re.* (str.to.re "O")) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re H1 |
|||
(re.++ (re.+ (re.union (str.to.re "N") (str.to.re "O") (str.to.re "R") (str.to.re "M") (str.to.re "A") (str.to.re "L") )) |
|||
(re.+ (str.to.re "T")) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re H2 |
|||
(re.++ (re.* re.allchar) |
|||
(re.union (str.to.re "XA") (str.to.re "BE")) |
|||
(re.* re.allchar) |
|||
) |
|||
)) |
|||
|
|||
|
|||
(assert (str.in.re H3 |
|||
(re.++ (re.+ (re.union (str.to.re "EG") (str.to.re "UL"))) |
|||
(re.* (re.union (str.to.re "A") (str.to.re "L") (str.to.re "F"))) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re H4 |
|||
(re.++ (re.* (re.union (str.to.re "R") (str.to.re "E") (str.to.re "Q"))) |
|||
(re.union (str.to.re "G") (str.to.re "P")) |
|||
(re.* re.allchar) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V0 |
|||
(re.++ (re.+ (re.union (str.to.re "R") (str.to.re "U") (str.to.re "T") (str.to.re "H"))) |
|||
(re.union (str.to.re "OE") (str.to.re "EO")) |
|||
(re.* (re.union (str.to.re "R") (str.to.re "B"))) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V1 |
|||
(re.++ (re.+ (re.union (str.to.re "BG") (str.to.re "ON") (str.to.re "KK"))) |
|||
(re.+ (re.union (str.to.re "R") (str.to.re "I") (str.to.re "F"))) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V2 |
|||
(re.++ (re.union (str.to.re "MN") (str.to.re "BO") (str.to.re "FI")) |
|||
(re.+ (re.union (str.to.re "E") (str.to.re "U"))) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V3 |
|||
(re.++ (re.+ (re.union (str.to.re "KT") (str.to.re "AL") (str.to.re "ET"))) |
|||
(str.to.re "G") |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V4 |
|||
(re.++ (re.union (str.to.re "O") (str.to.re "H")) |
|||
(re.+ (re.union (str.to.re "PR") (str.to.re "AX") (str.to.re "TR"))) |
|||
) |
|||
)) |
|||
|
|||
(assert (str.in.re V4 |
|||
(re.++ re.allchar re.allchar re.allchar re.allchar re.allchar))) |
|||
|
|||
(assert (= (str.at H0 0) (str.at V0 0) )) |
|||
(assert (= (str.at H1 0) (str.at V0 1) )) |
|||
(assert (= (str.at H2 0) (str.at V0 2) )) |
|||
(assert (= (str.at H3 0) (str.at V0 3) )) |
|||
(assert (= (str.at H4 0) (str.at V0 4) )) |
|||
|
|||
(assert (= (str.at H0 1) (str.at V1 0) )) |
|||
(assert (= (str.at H1 1) (str.at V1 1) )) |
|||
(assert (= (str.at H2 1) (str.at V1 2) )) |
|||
(assert (= (str.at H3 1) (str.at V1 3) )) |
|||
(assert (= (str.at H4 1) (str.at V1 4) )) |
|||
|
|||
(assert (= (str.at H0 2) (str.at V2 0) )) |
|||
(assert (= (str.at H1 2) (str.at V2 1) )) |
|||
(assert (= (str.at H2 2) (str.at V2 2) )) |
|||
(assert (= (str.at H3 2) (str.at V2 3) )) |
|||
(assert (= (str.at H4 2) (str.at V2 4) )) |
|||
|
|||
(assert (= (str.at H0 3) (str.at V3 0) )) |
|||
(assert (= (str.at H1 3) (str.at V3 1) )) |
|||
(assert (= (str.at H2 3) (str.at V3 2) )) |
|||
(assert (= (str.at H3 3) (str.at V3 3) )) |
|||
(assert (= (str.at H4 3) (str.at V3 4) )) |
|||
|
|||
(assert (= (str.at H0 4) (str.at V4 0) )) |
|||
(assert (= (str.at H1 4) (str.at V4 1) )) |
|||
(assert (= (str.at H2 4) (str.at V4 2) )) |
|||
(assert (= (str.at H3 4) (str.at V4 3) )) |
|||
(assert (= (str.at H4 4) (str.at V4 4) )) |
|||
(check-sat) |
|||
(get-model) |
Loading…
Reference in new issue