BOOKS REPORT - University of Texas at Austin...Jared Davis Centaur Technology ACL2 Workshop 2015...
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!)