Conditional Properties

In each statement, if the test expression is true, then the conclusion expression is also assumed to be true. Conditional properties are used to prove theorems.

Symmetric Property of Equality
if a = b, then b = a

Transitive Property of Equality
if the following are true:

then a = c


Truth Propagation Property
if the following are true:

then b


Additive Property of Equality
if a = b, then a + c = b + c

Multiplicative Property of Equality
if a = b, then ac = bc

Zero Numerator Property
if not (a = 0), then 0 / a = 0

Multiplicative Inverse Property
if not (a = 0), then a / a = 1

Division is Multiplication by Inverse
if not (b = 0), then a / b = a ⋅ (1 / b)

Symmetric Inequality Property
if a > b, then b < a

Symmetric Inequality Property 2
if a < b, then b > a

Transitive Property of Inequality
if the following are true:

then a < c


Transitive Property of Inequality 2
if the following are true:

then c < b


Transitive Property with Less Than
if the following are true:

then a < c


Inequality Addition Property (1)
if a < b, then a + c < b + c

Inequality Addition Property (2)
if a < b, then a - c < b - c

Inequality Multiplication Property (1)
if the following are true:

then ac < bc


Inequality Multiplication Property (2)
if the following are true:

then a / c < b / c


Inequality Multiplication By Negative Value (1)
if the following are true:

then ac > bc


Inequality Multiplication By Negative Value (2)
if the following are true:

then a / c > b / c


Inequality Additive Inverse Property
if a < b, then (-1) ⋅ a > (-1) ⋅ b

Inequality Multiplicative Inverse Property
if the following are true:

then 1 / a > 1 / b


Greater Than Property
if the following are true:

then a > b


Greater Than is Not Equal
if a > 0, then not (a = 0)

Greater Than Property 2
if the following are true:

then ab > 0


Substitution
if a = b, then x + a = x + b

ADDI Instruction, Concise
if the following are true:

then value of cell dst at time (t + 1) = (value of cell src at time t) + imm


ADDI Instruction, Others
if the following are true:

then value of cell other at time (t + 1) = value of cell other at time t


SUBTRACTI Instruction
if the following are true:

then value of cell dst at time (t + 1) = (value of cell src at time t) - imm


SUBTRACTI Instruction, Others
if the following are true:

then value of cell other at time (t + 1) = value of cell other at time t


ADD Instruction
if the following are true:

then value of cell d at time (t + 1) = (value of cell s1 at time t) + (value of cell s2 at time t)


ADD Instruction, Others
if the following are true:

then value of cell other at time (t + 1) = value of cell other at time t


STORE Instruction
if the following are true:

then value of cell ((value of cell addr at time t) + imm) at time (t + 1) = value of cell src at time t


STORE Instruction, Others
if the following are true:

then value of cell other at time (t + 1) = value of cell other at time t


Load Instruction
if the following are true:

then value of cell dst at time (t + 1) = value of cell ((value of cell addr at time t) + imm) at time t


LOAD Instruction, Others
if the following are true:

then value of cell other at time (t + 1) = value of cell other at time t


BEQ on Memory
if the following are true:

then value of cell x at time (t + 1) = value of cell x at time t


BEQ on Equal
if the following are true:

then the PC at time (t + 1) = (i + 1) + imm


BEQ on Not Equal
if the following are true:

then the PC at time (t + 1) = i + 1


J Instruction
if the following are true:

then the PC at time (t + 1) = jump_to


J on Memory
if the following are true:

then value of cell x at time (t + 1) = value of cell x at time t


JR Instruction
if the following are true:

then the PC at time (t + 1) = value of cell addr at time t


JR on Memory
if the following are true:

then value of cell x at time (t + 1) = value of cell x at time t


JAL To
if the following are true:

then the PC at time (t + 1) = jump_to


JAL Instruction, Memory
if the following are true:

then value of cell x at time (t + 1) = value of cell x at time t


JAL Return
if the following are true:

then value of cell 2 at time (t + 1) = i + 1


Program Counter on ADDI
if the following are true:

then the PC at time (t + 1) = x + 1


Program Counter on ADD
if the following are true:

then the PC at time (t + 1) = x + 1


Program Counter on SUBTRACTI
if the following are true:

then the PC at time (t + 1) = x + 1


Program Counter on STORE
if the following are true:

then the PC at time (t + 1) = x + 1


Program Counter on LOAD
if the following are true:

then the PC at time (t + 1) = x + 1


Keyboard Interrupt
if interrupt at index: 0 time: t = 1, then the PC at time (t + 1) = 1

Some Device Interrupted Computer (1)
if interrupt at index: x time: t = 1, then interrupt at index: x time: (t + 1) = 0

Some Device Interrupted Computer (2)
if interrupt at index: x time: t = 1, then value of cell idx at time (t + 1) = value of cell idx at time t

Display Interrupt (1)
if the following are true:

then display text at x: (cursor x at time t), y: (cursor y at time t), and time: (t + 1) = value of cell (10 + (number of characters read at t)) at time t


Display Interrupt (2)
if the following are true:

then number of characters read at (t + 1) = (number of characters read at t) + 1


Display Finished (1)
if the following are true:

then value of cell 27 at time (t + 1) = 0


Display Finished (2)
if the following are true:

then number of characters read at (t + 1) = 0


Display Finished (3)
if the following are true:

then cursor x at time (t + 1) = cursor x at time t


Display Finished (4)
if the following are true:

then cursor y at time (t + 1) = cursor y at time t


Number of Characters Read Unchanged (1)
if value of cell 27 at time t = 0, then number of characters read at (t + 1) = number of characters read at t

Number of Characters Read Unchanged (2)
if value of cell 27 at time t = 0, then cursor x at time (t + 1) = cursor x at time t

Number of Characters Read Unchanged (3)
if value of cell 27 at time t = 0, then cursor y at time (t + 1) = cursor y at time t

Display Cursor X Move (1)
if the following are true:

then cursor x at time (t + 1) = (cursor x at time t) + 1


Display Cursor X Move (2)
if the following are true:

then cursor y at time (t + 1) = cursor y at time t


Display Cursor X New
if the following are true:

then cursor x at time (t + 1) = 0


Display Cursor Y New
if the following are true:

then cursor y at time (t + 1) = (cursor y at time t) + 1


Display Cursor Y Stay In Bottom
if cursor y at time t = 11, then cursor y at time (t + 1) = cursor y at time t

Display Text Move Up
if the following are true:

then display text at x: x, y: y, and time: (t + 1) = display text at x: x, y: (y + 1), and time: t


Cursor X on CR
if the following are true:

then cursor x at time (t + 1) = 0


Cursor Y on CR
if the following are true:

then cursor y at time (t + 1) = (cursor y at time t) + 1


CR move text up (1)
if the following are true:

then cursor y at time (t + 1) = cursor y at time t


CR move text up (2)
if the following are true:

then display text at x: x, y: y, and time: (t + 1) = display text at x: x, y: (y + 1), and time: t


Disk Interrupt
if interrupt at index: 1 time: t = 1, then the PC at time (t + 1) = 2

Write To Disk
if the following are true:

then disk byte at index: ((value of cell 47 at time t) + (disk bytes read at time t)) time: (t + 1) = value of cell (30 + (disk bytes read at time t)) at time t


Write To Disk Unchanged
if the following are true:

then disk byte at index: index time: (t + 1) = disk byte at index: index time: t


Increment Disk Bytes Read
if the following are true:

then disk bytes read at time (t + 1) = (disk bytes read at time t) + 1


Disk Write Finished (1)
if the following are true:

then value of cell 49 at time (t + 1) = 0


Disk Write Finished (2)
if the following are true:

then disk bytes read at time (t + 1) = 0


Disk Write Finished (3)
if the following are true:

then disk byte at index: index time: (t + 1) = disk byte at index: index time: t


Written To Disk Unchanged (1)
if value of cell 49 at time t = 0, then disk bytes read at time (t + 1) = disk bytes read at time t

Written To Disk Unchanged (2)
if value of cell 49 at time t = 0, then disk byte at index: index time: (t + 1) = disk byte at index: index time: t

Read from Disk
if the following are true:

then value of cell (30 + (disk bytes read at time t)) at time (t + 1) = disk byte at index: ((value of cell 47 at time t) + (disk bytes read at time t)) time: t


Disk Read Finished
if the following are true:

then interrupt at index: 1 time: (t + 1) = 1


Disk Read Unchanged
if the following are true:

then disk byte at index: index time: (t + 1) = disk byte at index: index time: t


Begin PyList (1)
if the following are true:

then Expression Stack at time (t + 1) = [ [ Python list elements, [ ] ], [ ] ]


Begin PyList (2)
if the following are true:

then the line at time (t + 1) = i


Begin PyList (3)
if the following are true:

then the tab at time (t + 1) = j


Begin PyList (4)
if the following are true:

then Value Stack at time (t + 1) = [ [ ], [ ] ]


Begin PyList (5)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Begin PyList (6)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Begin PyList (7)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


Begin PyList (8)
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


Begin PyList Elements (1)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Expression Stack at time (t + 1) = [ elements, [ [ Python list elements, ys ], rest ] ]

Begin PyList Elements (2)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

Begin PyList Elements (3)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Parameters List at time (t + 1) = None

Begin PyList Elements (4)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then the line at time (t + 1) = the line at time t

Begin PyList Elements (5)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then the tab at time (t + 1) = the tab at time t

Begin PyList Elements (6)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Variables Map at time (t + 1) = Variables Map at time t

Begin PyList Elements (7)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Control Map at time (t + 1) = Control Map at time t

Begin PyList Elements (8)
if Expression Stack at time t = [ [ Python list elements, ys ], rest ], then Python Object Store at time (t + 1) = Python Object Store at time t

1 2