Reachability Analysis Using Octagons
Andrew N. Fisher and Chris J. Myers Department of Electrical and Computer Engineering University of Utah FAC 2014 July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Reachability Analysis Using Octagons Andrew N. Fisher and Chris J. - - PowerPoint PPT Presentation
Reachability Analysis Using Octagons Andrew N. Fisher and Chris J. Myers Department of Electrical and Computer Engineering University of Utah FAC 2014 July 9, 2014 Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014 Digitally
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
DLF DAC DPD TDC REFCLK VCO (LC)
(synthesizable) Verilog Verilog (non−synthesizable)
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
y 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
y 2
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
y 2
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] fail t3 {∼ (y >= 7) ∧ (x >= 5)} x = [0, 1] < x := 0, y := 0 > p0 p2 [0] x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4 fail
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4 Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
y b3 b4 b1 b2 x
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
y b3 b4 b1 b2 x
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4 x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
1 2 3 5 6 7 4 y 7 6 5 4 3 2 1 8 x
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
4 x y 7 6 5 4 3 2 1 1 2 3 5 6 7
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
0.5 1 1.5 2 2.5 3 3.5 4 0.5 1 1.5 2 2.5 3 3.5 4 1 2 3 4 5 6 Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
0.5 1 1.5 2 2.5 3 3.5 4 0.5 1 1.5 2 2.5 3 3.5 4 1 2 3 4 5 6 Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher et al., MWSCAS (2014) Petri Net (LPN) Simulation Engine Simulation Traces Model Checker Transistor Level Design SystemVerilog Model Assertion Pass/Fail RTL for Digital Components Pass or Fail + Error Trace SPICE Model Generator Verification Traditional Analog Circuit Kulkarni et al., VW−EDA (2011) Batchu, MS Thesis (2010) Little et al., IJFCS (2010) Kulkarni, MS Thesis (2013) (LAMP) Property Verification Kulkarni et al., FDL (2013) Fisher et al., LDMT (2014) Little, PhD (2008) Walter, PhD (2007) Walter et al., IEEE TCAD (2008) Little at al., IEEE TCAD (2011) Labeled Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] p0 x = [0, 1] p1 x′ = 1 y = [0, 1] y ′ = 1 p2 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
4 x y 7 6 5 4 3 2 1 1 2 3 5 6 7
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
4 x y 7 6 5 4 3 2 1 1 2 3 5 6 7
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
{true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t4 {(y >= 7) ∧ (x >= 5)} [0] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > p0 x = [0, 1] p2 x′ = 1 y = [0, 1] y ′ = 1 p1 p2 t0
4 x y 7 6 5 4 3 2 1 1 2 3 5 6 7
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014
p2 t0 {true} [0, 2] < y ′ := −1 > t1 {true} [0, 1] < y ′ := 1 > t2 {true} [0, 1] t3 {∼ (y >= 7) ∧ (x >= 5)} [0] < x := 0, y := 0 > t4 {(y >= 7) ∧ (x >= 5)} [0] x = [0, 1] p0 x′ = 1 y = [0, 1] y ′ = 1 p1 p2
x y 7 6 5 4 3 2 1 1 2 3 5 6 7 4
Fisher / Myers (U. of Utah) Octagons FAC 2014 / July 9, 2014