§ Regular Plain Separation Logic

using LinkedList = ptr[(int, LinkedList)]def nth(x : ptr, i : int) -> ptr:  match i:    case 0: return x    case succ i': return nth(x.next, i')

§ Concurrent Separation Logic Without Higher Order Nonsense

§ Invariants

Consider a program that adds 2 and 2 to a variable x.

def progi(_i : thread_id, x : int):   x += 2   return xx = 0; progi(0, x) || progi(0, x);

§ Resource Algebras

x = 0; progi(0, x) || progi(0, x);

§ Atomically

I can't remmber where this played a role.