File: bcv-collect-sig-frame-vector-misc.lisp

package info (click to toggle)
acl2 8.6%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: trixie
  • size: 1,111,420 kB
  • sloc: lisp: 17,818,294; java: 125,359; python: 28,122; javascript: 23,458; cpp: 18,851; ansic: 11,569; perl: 7,678; xml: 5,591; sh: 3,976; makefile: 3,833; ruby: 2,633; yacc: 1,126; ml: 763; awk: 295; csh: 233; lex: 197; php: 178; tcl: 49; asm: 23; haskell: 17
file content (93 lines) | stat: -rw-r--r-- 4,048 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
(in-package "BCV")
(include-book "typechecker")
(include-book "typechecker-ext")
(include-book "typechecker-simple")
(include-book "bcv-base")

;;(local (include-book "bcv-collect-sig-frame-vector-never-aftergoto"))


(defthm mergedcodeistypesafe-implies-not-end-consp
  (implies (and (mergedcodeistypesafe env mergedcode init-frame)
                (consp mergedcode)
                (pc-wff-mergedcode1 pc mergedcode)
                (not (isEnd (car mergedcode))))
           (consp (collect-sig-frame-vector env mergedcode init-frame)))
  :hints (("Goal" :do-not '(generalize)
           :in-theory (disable instructionIsTypeSafe
                               instructionSatisfiesHandlers
                               instrOffset
                               sig-do-inst
                               allinstructions
                               isEnd
                               jvm::inst-size
                               mapFrame
                               getMap mapOffset
                               frameIsAssignable
                               isInstruction
                               isStackMap))))

  

(defthm mergedcodeistypesafe-mergedcodeistype-safe
  (implies (and (mergedcodeistypesafe env mergedcode init-frame)
                (consp mergedcode1)
                (is-suffix mergedcode1 mergedcode))
           (mergedcodeistypesafe env mergedcode1 
                                 (collect-sig-frame-at-mergecode1 
                                  env mergedcode1 mergedcode init-frame)))
  :hints (("Goal" :do-not '(generalize)
           :in-theory (disable instructionIsTypeSafe
                               instructionSatisfiesHandlers
                               instrOffset
                               sig-do-inst
                               allinstructions
                               isEnd
                               jvm::inst-size
                               mapFrame
                               getMap mapOffset
                               frameIsAssignable
                               isInstruction
                               isStackMap))))

(defthm mapOffset-is-next-pc
  (implies (and (mergedcodeistypesafe env mergedcode init-frame)
                (pc-wff-mergedcode1 (next-pc mergedcode) mergedcode))
           (equal (mapOffset (car (collect-sig-frame-vector env mergedcode
                                                            init-frame)))
                  (next-pc mergedcode)))
  :hints (("Goal" :do-not '(generalize)
           :in-theory (disable instructionIsTypeSafe
                               instructionSatisfiesHandlers
                               instrOffset
                               sig-do-inst
                               allinstructions
                               isEnd
                               jvm::inst-size
                               mapFrame
                               getMap mapOffset
                               frameIsAssignable
                               isInstruction
                               isStackMap))))

(defthm pc-wff-mergedcode1-pc-wff-mergedcode-pc-suffix
  (implies (and (pc-wff-mergedcode1 (next-pc mergedcode) mergedcode)
                (is-suffix mergedcode1 mergedcode)
                (consp mergedcode1)
                (not (isEnd (car mergedcode1))))
           (pc-wff-mergedcode1 (next-pc mergedcode1) mergedcode1))
  :hints (("Goal" :do-not '(generalize)
           :in-theory (disable instructionIsTypeSafe
                               instructionSatisfiesHandlers
                               instrOffset
                               sig-do-inst
                               allinstructions
                               isEnd
                               jvm::inst-size
                               mapFrame
                               getMap mapOffset
                               frameIsAssignable
                               isInstruction
                               isStackMap)))
  :rule-classes :forward-chaining)