Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure Main with SPARK_Mode is
- type Domain is new Integer with Ghost;
- Socrates : constant Domain := 0 with Ghost;
- function Human (X : Domain) return Boolean
- with Ghost, Import;
- function Mortal (X : Domain) return Boolean
- with Ghost, Import;
- begin
- pragma Assume (Human (Socrates));
- pragma Assume (for all X in Domain => (if Human (X) then Mortal (X)));
- pragma Assert (Mortal (Socrates));
- end Main;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement