summaryrefslogtreecommitdiff
path: root/test/regress/regress1/sygus/rex-strings-alarm.sy
blob: aa2ddb2a3abe5bbea98e519525e471a22ad7f0da (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
; EXPECT: unsat
; COMMAND-LINE: --sygus-out=status --lang=sygus2 --strings-exp

(set-logic S)

(set-option :sygus-rec-fun true)
(set-option :e-matching false)

(define-sort Rex () RegLan)
    
    
;SyGuS Grammar Definition.
(synth-fun phi () Rex

  ((<R> Rex))  
  ((<R> Rex (
    
    ; alphabets
    (str.to_re "r") ; r = request 
    (str.to_re "g") ; g = grant
    (str.to_re "e") ; e = empty 
    (str.to_re "b") ; b = request, grant

;    (re.none <R>)
;    (re.all <R>)
    
    ; CHOICE
    (re.union <R> <R>)
    
    ; CONCATENATION
    (re.++    <R> <R>)
    
    ; INTERSECTION
    (re.inter <R> <R>)
    
    ; STAR 
    (re.* <R>)

    ; PLUS
    (re.+ <R>)

    ; Complement / Don't work
    (re.comp <R>)
    
    ; Difference / Don't work
    (re.diff <R> <R>)

    (re.opt <R>)

   )))
)

(define-fun w1() String "ee")

(constraint (str.in_re  w1 phi))

(define-fun n1() String "bbegre")
(constraint (str.in_re n1 (re.comp  phi)))

(check-synth)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback