1 ; COMMAND-LINE: --lang=smt2.5
4 ; Preamble --------------
7 (declare-datatypes () ((UNIT (Unit))))
8 (declare-datatypes () ((BOOL (Truth) (Falsity))))
10 ; Decls --------------
15 (declare-datatypes () ((E (one) (two) (three))))
16 (declare-datatypes () ((F (four) (five) (six))))
17 (declare-datatypes () ((G (c_G (seven BOOL)))))
67 ; Var Decls --------------
68 (declare-fun s1 () (Array A J))
69 (declare-fun s2 () (Array A J))
70 (declare-fun e1 () (Array A K))
71 (declare-fun e2 () (Array A K))
74 (declare-fun foo (A) A)
75 (declare-fun bar (A) C)
78 ; Asserts --------------
84 (= y (g3 (select e1 x)))
90 (let ((z (select s1 y)))
94 (- (f3 (select s1 y)) 1)
103 (forall ((s A)) (= (g3 (select e2 s)) s))