Questions tagged [acl2]

An automated theorem prover -- software system consisting of a programming language, an extensible theory in a first-order logic, and a mechanical theorem prover. The input language and implementation of ACL2 are built on Common Lisp.

ACL2 is both a programming language in which you can model computer systems and a tool to help you prove properties of those models.

Main website: ACL2

38 questions
1
vote
1 answer

How do I turn off quick-and-dirty-subsumption-replacement-step

When I interrupt my proof, which has gone out to lunch, I see quick-and-dirty-subsumption-replacement-step in the backtrace. How do I disable that heuristic?
interestedparty333
  • 2,386
  • 1
  • 21
  • 35
1
vote
1 answer

How do I make time$ work with ctrl+t e in ACL2 and emacs?

When trying to copy a form into my ACL2 shell buffer using ctrl+t e, and I've already placed a time$ in my shell buffer, I get an error about not being able to paste the form. How do I change the emacs macro so that I can paste into ACL2 shell…
interestedparty333
  • 2,386
  • 1
  • 21
  • 35
1
vote
2 answers

What does ACL2 exit code 137 mean?

What does ACL2 exit code 137 mean? The output reads like this: Form: ( INCLUDE-BOOK "centaur/ubdds/param" ...) Rules: NIL Time: 0.00 seconds (prove: 0.00, print: 0.00, other: 0.00) :REDUNDANT Note: not introducing any A4VEC field bindings for A,…
interestedparty333
  • 2,386
  • 1
  • 21
  • 35
1
vote
0 answers

acl2 equational reasoning, proving equality

I'm trying to prove the following function true and am having trouble figuring it out, even though it seems so obvious! (implies (and (listp x) (listp y)) (equal (app (rev x) (rev y)) (rev (app x y)))) by…
user3085077
  • 45
  • 1
  • 1
  • 7
1
vote
2 answers

ACL2 Bridge worker thread throws undefined function exception

I'm trying to write a binding to the Centaur ACL2-Bridge. So far, I can start the bridge with the following sequence: cd books sudo acl2 acl2 !> (include-book centaur/bridge/acl2/top) acl2 !> (bridge::start…
1
vote
3 answers

operation between two lists

In common lisp there is map, which lets you do this kind of thing: (map (lambda (x y) (/ x y)) (list 2 4 6 8 10 12) (list 1 2 3 4 5 6)) returning (2 2 2 2 2 2) However now I am working at ACL2 and there is no such a thing as map. So in my mind the…
Ren
  • 4,594
  • 9
  • 33
  • 61
0
votes
1 answer

ACL2 function to recognize even numbers does not halt

This is supposed to be a definition of a function which returns t if the entered value is an even natural number and returns nil if the entered value is an odd natural number: (defun evec (n) (if (zp n) (if (zerop n) t …
Senmorta
  • 11
  • 1
0
votes
1 answer

Iterate through a list in ACL2

(defun listmover-fun (l n) (if (= n (len l))) (last l ) (position n 1) listmover-fun (l n+1) ) Trying to figure out how to iterate through a list in ACL2, I know it can be done in lisp but I can't use those functions. Any tips would be…
0
votes
1 answer

Proving function that gives minimum of lists in acl2

I need to try and show a function that finds the minimum of a list works and I fell like I'm close to getting it but can't actually get it. The instructor gives us this function: (defun minlist (l) (if (<= (len l) 1) (first l) (if (<=…
tswiggy
  • 11
  • 3
0
votes
0 answers

In a macro transformer, is it possible to lift a definition to the top level?

In an ACL2 macro transformer, is it possible to lift a function definition to the top level? I'm trying to design a macro let-map that can define functions like map-double below when given a double function. If I only cared about the top level, I…
Alex Knauth
  • 8,133
  • 2
  • 16
  • 31
0
votes
1 answer

How to fix loop in rewriting proof

I'm trying to model natural numbers in unary notation (O, (S O), (S (S O)), ...) in ACL2 and prove commutativity of addition. Here is my attempt: ; a NATURAL is 'O or a list ('S n') where n' is a NATURAL (defun naturalp (n) (cond ((equal n 'O)…
Isabelle Newbie
  • 9,258
  • 1
  • 20
  • 32
0
votes
1 answer

Recursively appending lists to the front of an element within a list

Using acl2, I am trying to create a function, "ins" that recursively appends the first argument (a list) to the front of each element in the second argument (another list), where (ins (something) ( (a b c) (d e f) ...)) returns ( (something a b c)…
imgoingmad
  • 95
  • 3
  • 10
0
votes
1 answer

ACL2's GL clock ran out

What does it mean when I receive the following error message? I have GL loaded. | ACL2 Error in ( DEFTHM SOME-THEOREM-THAT-USES-GL ...): The clock | ran out.~%
interestedparty333
  • 2,386
  • 1
  • 21
  • 35
0
votes
1 answer

How do I fix an ACL2 books sanity check failure?

From within the ACL2 books directory, whenever I try to build or clean the books, I get an error message that looks like: GNUmakefile:299: *** Books Sanity Check Failed. Stop. How can I avoid this error message?
interestedparty333
  • 2,386
  • 1
  • 21
  • 35
0
votes
1 answer

Determine books currently under certification with ACL2

How do I see which books are currently being certified with ACL2 on a given machine? I know I can look at the output and figure it out that, but that takes a non-trivial amount of effort.
interestedparty333
  • 2,386
  • 1
  • 21
  • 35