University of Cincinnati Logo
 

20-CS-626 - Formal Methods
School of Computing Sciences and Informatics

   
Lecture Notes Date
 
Introduction    
What is FM, why is it important?
28 Mar
 
Satisfiability    
Introduction to SAT     30 Mar
Handbook on Combinatorial Optimization     Mar/Apr
Some simple BMC examples     30 Mar
BMC - software - ex.1     4 Apr
BMC - software - ex.2     4 Apr
BMC - software - ex.3     4 Apr
The BDD visualizer     11 Apr
Example - a counter     11 Apr
BDDs and operations     11 Apr
Slides on above     11 Apr
BDD Tutorial     11 Apr
Efficient Transformations     xx Apr
Unsafe Constraints     xx Apr
Quantified Boolean Formula conversion     xx Apr
 
Satisfiability Modulo Theories    
SMT Slides
6 Apr
Nelson-Oppen
6 Apr
Yices overview
6 Apr
Yices input language
6 Apr
Yices examples
6 Apr
SMT benchmarks
6 Apr
Handbook on Satisfiability
6 Apr
JSAT article
6 Apr
yices tutorial
6 Apr
Handbook on Combinatorial Optimization
Mar/Apr
 
Algebraic Methods    
Slides     18 Apr
Gröbner bases and Integer Programming     18 Apr
 
ACL2    
Getting started - Emacs help at bottom     18 Apr
Crib sheet with examples and useful commands     20 Apr
Some experiments     20 Apr
Pigeon Hole Principle     2 May
Permutations as an equivalence class     2 May
Algorithms    
   Mergesort description     4 May
   Mergesort     4 May
Circuits    
   1 bit adder     4 May
   16 bit adder - slow     4 May
   16 bit adder - fast     4 May
   SN74AS181 ALU     4 May
   SN74AS181 documentation     4 May
Floyd-Hoare logic/Predicate Transformers     9/11 May
Weakest Preconditions - Example    
   Assembly code for multiplication (Mostek 6502)     11 May
   Semantics for Mostek 6502 assembler     11 May
   Weakest precondition generator     11 May
   Proof that Mostek code multiplies     11 May
Some tips     xx Apr
ACL2 Tutorial 1     xx Apr
ACL2 Tutorial 2     xx Apr
Tower of Hanoi     xx Apr
BDDs     xx Apr
How to prove theorems formally     xx Apr
Lisp code for the above     xx Apr
My notes     xx Apr
My slides     xx Apr
 
Common Lisp    
Introduction     20 Apr
Common Lisp Examples     20 Apr
 
Hardware    
Centaur Processor
xx Apr
RTL Verilog
xx Apr
ACL2 Verification of FADD
xx Apr
 
And-Inverter Graphs: A Formal Model    
AIG Introducton     25 May
Equivalence Checking     25 May
Aiger AIG Specification language     25 May
Aiger translation tool     25 May
3DES encryption description     25 May
Opencores 3DES circuit     25 May
 
Xilinx FPGA Tools    
    .bashrc additions on boole for Xilinx     xx May
    Xilinx ISE     xx May
 
Logic Synthesis    
    ABC logic synthesis tool 23 May
 
Cryptol    
crib sheet
11 May
2nd crib sheet
16 May
The Mostek Multiplier     Explanation
23 May
ZUC algorithm     Explanation
23 May
3DES.cry     DES.cry     Cipher.cry
23 May
destest.cry     test.cry     Explanation
23 May
AES.cry     aux file     Explanation
23 May
Overview
xx May
Binary search is wrong!
xx May
Cryptol binary search specification
xx May
Cryptol binary search specification fix
xx May
Some elementary Cryptol specifications
xx May
Hamming sequences     demo1     demo2
xx May
DES specification     DES demo
xx May
List comprehension
xx May
From Cryptol to FPGA
xx May
 
Bioinformatics    
Analyzing pathways with SAT approaches
xx May
Slides on above
xx May
Predictive modeling - Computational Biology
xx May
 
ERC
MainStreet
Paul Erdos
NIT
Ladies on Campus
Oscar Robinson