BOOKS REPORT - University of Texas at Austin...Jared Davis Centaur Technology ACL2 Workshop 2015...

Post on 20-May-2020

2 views 0 download

Transcript of BOOKS REPORT - University of Texas at Austin...Jared Davis Centaur Technology ACL2 Workshop 2015...

BOOKS

Jared Davis Centaur Technology ACL2 Workshop 2015

REPORT!

Jared Davis Centaur Technology ACL2 Workshop 2015

REPORT!BOOKS

COMMUNITY'S WORK

(I'm just a reporter)

Rough ScopeChanges from ACL2 6.3-7.1

(October 2013-May 2015)

NOTE-{6-4,6-5,7-0,7-1}-BOOKS

Current Status

6,450 sources 1,000 dirs

2.7 million lines of Lisp

x 10

so far in 2015: 5,726 files changed +1M lines -245K lines

~20 commits per week

How to keep up?

ACL2-Books Google Group

Github, gitk, etc.

Github

Unified ACL2+Books

github.com/acl2

Build System

Don't build so much!cd booksmake -j 4

arithmeticarithmetic-3arithmetic-5ihsdata-structures

Basic Buildstdtoolsmiscxdoc

Customize your build#!/bin/shmake -j 4 basic \ ordinals \ centaur/gl/gl.cert \ coi/bags/top.cert \ ...

More info

Boring stuffBugs fixedReorganizationPortability improvedACL2(r) build unifiedDependencies reducedSlow books sped up ( )Hundreds of Makefiles deleted

accumulatedpersistence

Ooh, Colors!!!

export CERT_PL_NO_COLOR=1

Build Documentation

Build Tools

Build Toolsclean.pl – run anywhere torecursively delete certs, compiledfiles, and so on

memsum.pl – summarize gcmessages from .cert.out files(ccl only)

Name Conflicts

Arithmetic-2/3/5 vs IHSBitops vs RTL (sign-extend)Bitops vs Arithmetic-5COI vs CCG (remove-keywords)COI vs data-structures (package)COI vs Std/osets (deep)COI vs Std/lists (repeat)COI vs Witness-CP

Many Name Clashes Fixed

Standard

Std/Basic (new)● Induction schemes● Basic fixing functions and equivalences

Lists, Alists, Osets, Bitsets● Minor updates

Std/UtilDefine – Awesome defun replacementDefines – define for mutual recursion!! with make-flag integration!!!Defret and ret b* binderDefaggregate/Deflist/Defalist/etc.Defval – defconst with xdoc supportDefsum – primitive sum of aggregatesDefaggrify-defrec – for ACL2 hackersDefredundant – like it sounds

Std/Util

Define-like syntax throughout

Smoothing out the rough edgesWith-outputXDOC integrationPerformance tuningCompatibility with FTY

Std/Strings● Pretty – logic mode pretty printer● Rich numeric functions● Base64 encoding/decoding● Program mode book● Simplified logical definitions● Use define for better docs

Std/IO● Read-string: parse an s-expression from

a string● Print-legibly, print-compressed

Std/typed-lists (new)● For integer-listp, etc.

Xdoc

arithmetic-1arith-equivsbest-practicesbitopsbase64cert.plcowlesclause-processor-toolsdefconsts

New Documentationdefsortdefrstobjdef-universal-equivihsprojects/*rtlset-max-memsneakyplev

FeaturesLegacy docs convertedTopic hierarchy improvementsBrowser speed, compatibilityMobile-friendly edition (yaya!)Link checking, error reportingSearch engine optimization

Quicklisp and OSLIB

Quicklisp

bordeaux-threadscl-fad (pathnames)osicat (filesystem & misc os stuff)uiop (filesystem stuff)shellpool (subprograms)hunchentoot (web server)...

Zach Beane

Quicklisp Buildcd booksmake USE_QUICKLISP=1 ...

New Bundle SystemNo extra downloadsEverything is just in Git

OSLIBFile stuff like ls, cp, rm, mkdirFile type querying like test -dMisc Path and other OS stuffCommand line arguments

(see also getopt)

Arithmetic

Deleted old versionsMoved into a packageGL integration

And …???

RTL

Now in a packageMany new fast functionsScattered theorem improvementsMuch more documentation

Bitops

Hardware Verification

VLVL

VL2014 ESIM

SV

Under DevelopmentGreatly Expanded

Stable

Many GL optimizationsImproved 4v-sexpr/SV rewritingSAT solvers now easily pluggableScripts for SAT proof checkingCross-Lisp portability (e.g., tshell)

New Libraries and Tools

tools/last-theory-changeSee when a rule was last enabled/disabled

centaur/misc/dag-measureA measure for algorithms over acyclic graphs

misc/enumerateA trick for breaking a proof into many cases

remove-hypsIdentify unnecessary hyps in your theorems

tools/rewrite-with-equalityAggressively use equality hyps in stable goals

with-supporters and defredundantAutomatically produce redundant events

flag::def-doublevar-inductionProve congruences about mutual recursions

centaur/nrevAn alternative to nreverse in ACL2

projects/sidekickA graphical add-on for ACL2

system/toothbrushCreate smaller ACL2-based applications

depgraphGeneric graph algorithms (topological sort,

transitive dependencies, inversion, …)

projects/codewalker

projects/hybrid-systemsShant Harutuntian's PhD

spacewalkUnderstand heap memory usage (CCL only)

simpAsk ACL2 to simplify a term under certain hyps

misc/check-fn-instCheck constraints to a functional instantiation

def-saved-obligsSave proof obligations as separate defthms

drat-trimCheck SAT solver proofs

clause-processors/inductionA clause processor that does induction

numerous new demos and examples

Licensing

AMD & Intel (RTL)Centaur & FriendsComputational LogicCOI BooksKrug (Arithmetic)Northeastern (Ordinals)

OracleRagerSelfridgeUT Austin

Omissions

7.1 onwardsx86 books(!)cgen/defdatafty, smtlink, etc.ACL2(r) stuffdemosprobably lots more

Report Any Problems!

!BOOKSThanks

Everyone(Now get back to work!)