summaryrefslogtreecommitdiff
path: root/assignment6/C.pvs
diff options
context:
space:
mode:
Diffstat (limited to 'assignment6/C.pvs')
-rw-r--r--assignment6/C.pvs80
1 files changed, 80 insertions, 0 deletions
diff --git a/assignment6/C.pvs b/assignment6/C.pvs
new file mode 100644
index 0000000..add36e3
--- /dev/null
+++ b/assignment6/C.pvs
@@ -0,0 +1,80 @@
+%%% Name/LOGIN-ID Camil Staps / s4498062
+%%% ACKNOWLEDGMENTS:
+
+th_C: THEORY
+%%%
+%%% Prove using only (SPLIT), (FLATTEN), (INST), (SKOLEM), (LEMMA), (ASSERT)
+%%% ~~~~
+
+BEGIN
+
+%%%
+%%% Andy, Bob, Cindy, Dinah, Eve, Fred, and Gary live in the seven houses,
+%%% numbered 1 through 7, on Maple Steet. Gary's address is 5 greater than
+%%% Bob's. Bob's address is greater than Andy's. Dinah's address is
+%%% less than Eve's, whose address is 2 less than Gary's. Cindy's address
+%%% is less than either Dinah's or Fred's. Who lives where?
+%%%
+
+people: TYPE = {A, B, C, D, E, F, G}
+address: [people -> int]
+
+p,q: VAR people
+
+%%%
+%%% The axiom below asserts that each person's address is between 1 and 7.
+%%%
+Range: AXIOM address(p) = 1
+ or address(p) = 2
+ or address(p) = 3
+ or address(p) = 4
+ or address(p) = 5
+ or address(p) = 6
+ or address(p) = 7
+
+%%%
+%%% The axiom below states that each person's address is unique
+%%%
+
+Unique: AXIOM address(p) = address(q) implies p = q
+
+%%%
+%%% AXIOMs "clue1" through "clue7" translate the problem.
+%%% The lemmas, together, give a solution. Each lemma
+%%% is introduced as it becomes provable.
+%%%
+
+clue1: AXIOM address(B) + 5 = address(G)
+
+L1: LEMMA address(B) = 1 or address(B) = 2
+
+clue2: AXIOM address(B) > address(A)
+
+L2: LEMMA address(B) = 2
+L3: LEMMA address(A) = 1
+L4: LEMMA address(G) = 7
+
+clue3: AXIOM address(D) < address(E)
+clue4: AXIOM address(E) + 2 = address(G)
+
+L5: LEMMA address(E) = 5
+L6: LEMMA address(D) = 3 or address(D) = 4
+
+clue5: AXIOM address(C) < address(D)
+
+L7: LEMMA address(C) = 3 and address(D) = 4
+
+clue7: AXIOM address(C) < address(F)
+
+L8: LEMMA address(F) = 6
+
+END th_C
+
+
+
+
+
+
+
+
+