% $Id: TTL.html,v 1.1 2003/10/01 07:22:16 connolly Exp $
% [RFC 1035] Mockapetris, P., "Domain names - implementation and
% specification", STD 13, RFC 1035, November 1987.
% http://www.faqs.org/rfcs/rfc1035.html
TTL: trait
includes
StrictPartialOrder(<, Message),
% for m1 < m2 read: m1 happened before m2
% The Scalar sort is usually the integers, representing seconds;
% but as long as there's a strict partial order, we don't care
% whether you use floating points or reals or whatever.
% Hm... not even sure I need +.
StrictPartialOrder(<, Scalar),
AbelianGroup(+ for \circ, Scalar for T)
introduces
TTL: Message → Scalar % DNS time to live, HTTP max-age
fresh: Message, Message, Scalar → Bool
% for fresh(m1, m2, s) read:
% m2 was sent within s of when m1 was received
asserts ∀ m1, m2, m3: Message, s, t: Scalar
fresh(m1, m2, s) ⇒ m1 < m2;
s < t ∧ fresh(m1, m2, s) ⇒ fresh(m1, m2, t);
fresh(m1, m3, s) ∧ m1 < m2 ∧ m2 < m3 ⇒
fresh(m1, m2, s);
[Index]
HTML generated using lsl2html.