• dom( mτ ) \leqslant dom( mσ )

  • ran( mσ ) \leqslant ran( mτ )

  
  • pre( mτ )[ xτ : = α( xσ )] ⇒ pre( m σ )

  • post( m σ ) ⇒ post( m τ )[ x τ : = α( x σ ) ]

  • invariant( σ) ⇒ invariant( τ)[ x τ : = α( x σ ) ]

  
  • φ\apijl x.m(a) φ′∧φ\apijl πm Ψ    ⇒ α( x φ ) = α( x Ψ )


slide: Behavioral subtyping constraints