summaryrefslogtreecommitdiff
path: root/proofs/signatures/th_arrays.plf
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2014-03-13 13:00:07 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2014-03-14 15:52:43 -0400
commitf0407e1c718050daf021c937708d779bdcc3b191 (patch)
treeca0bb9c4a327a42010c6dc5ba826c8d660fbae88 /proofs/signatures/th_arrays.plf
parent2ad315a59ad2bd7f69ba7a975874aab12f0fa605 (diff)
dos2unix on the proof signatures, and fix the makefile.
Diffstat (limited to 'proofs/signatures/th_arrays.plf')
-rwxr-xr-xproofs/signatures/th_arrays.plf103
1 files changed, 51 insertions, 52 deletions
diff --git a/proofs/signatures/th_arrays.plf b/proofs/signatures/th_arrays.plf
index edb6dc96e..0c6b16048 100755
--- a/proofs/signatures/th_arrays.plf
+++ b/proofs/signatures/th_arrays.plf
@@ -1,52 +1,51 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;
-; Theory of Arrays
-;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; depdends on : th_base.plf
-
-; sorts
-
-(declare array (! s1 sort (! s2 sort sort))) ; s1 is index, s2 is element
-
-; functions
-(declare write (! s1 sort
- (! s2 sort
- (term (arrow (array s1 s2)
- (arrow s1
- (arrow s2 (array s1 s2))))))))
-
-(declare read (! s1 sort
- (! s2 sort
- (term (arrow (array s1 s2)
- (arrow s1 s2))))))
-
-; inference rules
-(declare row1 (! s1 sort
- (! s2 sort
- (! t1 (term (array s1 s2))
- (! t2 (term s1)
- (! t3 (term s2)
- (th_holds (= _ (apply _ _ (apply _ _ (read s1 s2) (apply _ _ (apply _ _ (apply _ _ (write s1 s2) t1) t2) t3)) t2)
- t3))))))))
-
-
-(declare row (! s1 sort
- (! s2 sort
- (! t2 (term s1)
- (! t3 (term s1)
- (! t1 (term (array s1 s2))
- (! t4 (term s2)
- (! u (th_holds (not (= _ t2 t3)))
- (th_holds (= _ (apply _ _ (apply _ _ (read s1 s2) (apply _ _ (apply _ _ (apply _ _ (write s1 s2) t1) t2) t4)) t3)
- (apply _ _ (apply _ _ (read s1 s2) t1) t3)))))))))))
-
-(declare ext (! s1 sort
- (! s2 sort
- (! t1 (term (array s1 s2))
- (! t2 (term (array s1 s2))
- (! u1 (! k (term s1)
- (! u2 (th_holds (or (= _ t1 t2) (not (= _ (apply _ _ (apply _ _ (read s1 s2) t1) k) (apply _ _ (apply _ _ (read s1 s2) t2) k)))))
- (holds cln)))
- (holds cln)))))))
- \ No newline at end of file
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; Theory of Arrays
+;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; depdends on : th_base.plf
+
+; sorts
+
+(declare array (! s1 sort (! s2 sort sort))) ; s1 is index, s2 is element
+
+; functions
+(declare write (! s1 sort
+ (! s2 sort
+ (term (arrow (array s1 s2)
+ (arrow s1
+ (arrow s2 (array s1 s2))))))))
+
+(declare read (! s1 sort
+ (! s2 sort
+ (term (arrow (array s1 s2)
+ (arrow s1 s2))))))
+
+; inference rules
+(declare row1 (! s1 sort
+ (! s2 sort
+ (! t1 (term (array s1 s2))
+ (! t2 (term s1)
+ (! t3 (term s2)
+ (th_holds (= _ (apply _ _ (apply _ _ (read s1 s2) (apply _ _ (apply _ _ (apply _ _ (write s1 s2) t1) t2) t3)) t2)
+ t3))))))))
+
+
+(declare row (! s1 sort
+ (! s2 sort
+ (! t2 (term s1)
+ (! t3 (term s1)
+ (! t1 (term (array s1 s2))
+ (! t4 (term s2)
+ (! u (th_holds (not (= _ t2 t3)))
+ (th_holds (= _ (apply _ _ (apply _ _ (read s1 s2) (apply _ _ (apply _ _ (apply _ _ (write s1 s2) t1) t2) t4)) t3)
+ (apply _ _ (apply _ _ (read s1 s2) t1) t3)))))))))))
+
+(declare ext (! s1 sort
+ (! s2 sort
+ (! t1 (term (array s1 s2))
+ (! t2 (term (array s1 s2))
+ (! u1 (! k (term s1)
+ (! u2 (th_holds (or (= _ t1 t2) (not (= _ (apply _ _ (apply _ _ (read s1 s2) t1) k) (apply _ _ (apply _ _ (read s1 s2) t2) k)))))
+ (holds cln)))
+ (holds cln)))))))
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback