;;Proof Obligations of Module in Harvey/SMT Language (benchmark switch1Initialization1 :logic UNKNOWN :extrafuns ( (normal Int ) (reverse Int ) (void Int ) (actual_pos Int )) :extrapreds ( (POSITION Int )) :extramacros ((in (lambda (?x ELEMENT) (?p (ELEMENT boolean)) . (?p ?x))) (emptyset (lambda (?v ELEMENT) . false)) (omega (lambda (?x ELEMENT) . true)) (singleton (lambda (?x ELEMENT) . (lambda (?y ELEMENT) . (= ?x ?y)))) (intersection (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) . (lambda (?x ELEMENT) . (and (?p ?x) (?q ?x))))) (union (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) . (lambda (?x ELEMENT) . (or (?p ?x) (?q ?x))))) (difference (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) . (lambda (?x ELEMENT) . (and (?p ?x) (not (?q ?x)))))) (symmetric_difference (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) . (lambda (?x ELEMENT) . (or (and (?p ?x) (not (?q ?x))) (and (?q ?x) (not (?p ?x))))))) (subset (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) . (forall (?x ELEMENT) . (implies (?p ?x) (?q ?x)))))) :assumption (and (in normal POSITION)(in reverse POSITION)(in void POSITION)(distinct normal reverse void )(forall (e2 Int)(implies (in e2 POSITION)(or (= e2 normal)(= e2 reverse)(= e2 void)) ) ) ) :assumption (and (not (= normal reverse)) (not (= normal void)) (not (= reverse void))) :assumption (in actual_pos POSITION) ;;INITIALIZATION :formula (not (implies ((and (not (= normal reverse)) (not (= normal void)) (not (= reverse void)))) (forall (actual_pos1 Int) (implies (in actual_pos1 POSITION) (in POSITION POSITION)))) ) )