File: lecture2-log.txt

package info (click to toggle)
acl2 8.5dfsg-5
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 991,452 kB
  • sloc: lisp: 15,567,759; javascript: 22,820; cpp: 13,929; ansic: 12,092; perl: 7,150; java: 4,405; xml: 3,884; makefile: 3,507; sh: 3,187; ruby: 2,633; ml: 763; python: 746; yacc: 723; awk: 295; csh: 186; php: 171; lex: 154; tcl: 49; asm: 23; haskell: 17
file content (143 lines) | stat: -rw-r--r-- 6,147 bytes parent folder | download
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
(UNSET-WATERFALL-PARALLELISM)
(ASSIGN SCRIPT-MODE T)
 T
(SET-LD-PROMPT T STATE)
 T
ACL2 !>>(SET-INHIBITED-SUMMARY-TYPES '(TIME STEPS))
 (TIME STEPS)
ACL2 !>>(SET-INHIBIT-OUTPUT-LST '(PROOF-TREE))
 (PROOF-TREE)
ACL2 !>>(SET-GUARD-CHECKING NIL)

Masking guard violations but still checking guards except for self-
recursive calls.  To avoid guard checking entirely, :SET-GUARD-CHECKING
:NONE.  See :DOC set-guard-checking.

ACL2 >>(SET-GAG-MODE NIL)
<state>
ACL2 >>(INCLUDE-BOOK "m1")

Summary
Form:  ( INCLUDE-BOOK "m1" ...)
Rules: NIL
 "m1.lisp"
ACL2 >>(IN-PACKAGE "M1")
 "M1"
M1 >>'(END OF SETUP)
(END OF SETUP)
M1 >>(DEFUN G (N A)
            (IF (ZP N) A (G (- N 1) (* N A))))

The admission of G is trivial, using the relation O< (which is known
to be well-founded on the domain recognized by O-P) and the measure
(ACL2-COUNT N).  We observe that the type of G is described by the
theorem (OR (ACL2-NUMBERP (G N A)) (EQUAL (G N A) A)).  We used primitive
type reasoning.

Summary
Form:  ( DEFUN G ...)
Rules: ((:FAKE-RUNE-FOR-TYPE-SET NIL))
 G
M1 >>(DEFCONST *G*
               '((PUSH 1)
                 (STORE 1)
                 (LOAD 0)
                 (IFLE 10)
                 (LOAD 0)
                 (LOAD 1)
                 (MUL)
                 (STORE 1)
                 (LOAD 0)
                 (PUSH 1)
                 (SUB)
                 (STORE 0)
                 (GOTO -10)
                 (LOAD 1)
                 (HALT)))

Summary
Form:  ( DEFCONST *G* ...)
Rules: NIL
 *G*
M1 >>(DEFUN G-SCHED-LOOP (N)
            (IF (ZP N)
                (REPEAT 0 4)
                (APPEND (REPEAT 0 11)
                        (G-SCHED-LOOP (- N 1)))))

The admission of G-SCHED-LOOP is trivial, using the relation O< (which
is known to be well-founded on the domain recognized by O-P) and the
measure (ACL2-COUNT N).  We observe that the type of G-SCHED-LOOP is
described by the theorem (TRUE-LISTP (G-SCHED-LOOP N)).  We used the
:type-prescription rules BINARY-APPEND, REPEAT and ACL2::TRUE-LISTP-APPEND.

Summary
Form:  ( DEFUN G-SCHED-LOOP ...)
Rules: ((:TYPE-PRESCRIPTION BINARY-APPEND)
        (:TYPE-PRESCRIPTION REPEAT)
        (:TYPE-PRESCRIPTION ACL2::TRUE-LISTP-APPEND))
 G-SCHED-LOOP
M1 >>(DEFUN G-SCHED (N)
            (APPEND (REPEAT 0 2) (G-SCHED-LOOP N)))

Since G-SCHED is non-recursive, its admission is trivial.  We observe
that the type of G-SCHED is described by the theorem 
(TRUE-LISTP (G-SCHED N)).  We used the :type-prescription rules G-SCHED-LOOP
and ACL2::TRUE-LISTP-APPEND.

Summary
Form:  ( DEFUN G-SCHED ...)
Rules: ((:TYPE-PRESCRIPTION G-SCHED-LOOP)
        (:TYPE-PRESCRIPTION ACL2::TRUE-LISTP-APPEND))
 G-SCHED
M1 >>(DEFUN RUN-G (N)
            (TOP (STACK (RUN (G-SCHED N)
                             (MAKE-STATE 0 (LIST N 0) NIL *G*)))))

Since RUN-G is non-recursive, its admission is trivial.  We could deduce
no constraints on the type of RUN-G.

Summary
Form:  ( DEFUN RUN-G ...)
Rules: NIL
 RUN-G
M1 >>(RUN-G 5)
120
M1 >>(RUN-G 1000)
402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
M1 >>(LEN (G-SCHED 1000))
11006
M1 >>'(END OF DEMO 1)
(END OF DEMO 1)
M1 >>(INCLUDE-BOOK "compile")

Summary
Form:  ( INCLUDE-BOOK "compile" ...)
Rules: NIL
 "compile.lisp"
M1 >>(COMPILE '(N)
              '((A = 1)
                (WHILE (N > 0)
                       (A = (N * A))
                       (N = (N - 1)))
                (RETURN A)))
((PUSH 1)
 (STORE 1)
 (LOAD 0)
 (IFLE 10)
 (LOAD 0)
 (LOAD 1)
 (MUL)
 (STORE 1)
 (LOAD 0)
 (PUSH 1)
 (SUB)
 (STORE 0)
 (GOTO -10)
 (LOAD 1)
 (RETURN))
M1 >>'(END OF DEMO 2)
(END OF DEMO 2)
M1 >>'(THE END)
(THE END)
M1 >>Bye.