File size: 1,122 Bytes
619ff5b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(set-logic SLIA)

 

(synth-fun f ((firstname String) (lastname String)) String

    ((Start String (ntString))

     (ntString String (firstname lastname " " "."

                       (str.++ ntString ntString)

                       (str.replace ntString ntString ntString)

                       (str.at ntString ntInt)

                       (str.substr ntString ntInt ntInt)))

      (ntInt Int (0 1 2

                  (+ ntInt ntInt)

                  (str.len ntString)

                  (str.indexof ntString ntString ntInt)))

      (ntBool Bool (true false

                    (str.prefixof ntString ntString)

                    (str.suffixof ntString ntString)))))





(declare-var firstname String)

(declare-var lastname String)



(constraint (= (f "Launa" "Withers") "L. Withers"))

(constraint (= (f "Lakenya" "Edison") "L. Edison"))

(constraint (= (f "Brendan" "Hage") "B. Hage"))

(constraint (= (f "Bradford" "Lango") "B. Lango"))

(constraint (= (f "Rudolf" "Akiyama") "R. Akiyama"))

(constraint (= (f "Lara" "Constable") "L. Constable"))

 

(check-synth)