This commit is contained in:
ajeffrey@roblox.com 2022-05-25 16:02:27 -05:00
parent 3b55f94066
commit d17804768e

View file

@ -285,16 +285,15 @@ language-comp (function-tgt t) (function-tgt p) (function-tgt q) = language-comp
<:-function-left p s Rs | Left ¬Ss with p (function-err s) (function-err ¬Ss)
<:-function-left p s Rs | Left ¬Ss | function-err ¬Rs = CONTRADICTION (language-comp s ¬Rs Rs)
<:-function-right : {R S T U} (S T) <: (R U) (R ≮: never) (T <: U)
<:-function-right p (witness s Rs never) t Tt with p (function-ok s t) (function-ok₂ Tt)
<:-function-right p (witness s Rs never) t Tt | function-ok₁ ¬Rs = CONTRADICTION (language-comp s ¬Rs Rs)
<:-function-right p (witness s Rs never) t Tt | function-ok₂ St = St
<:-function-right : {R S T U} (S T) <: (R U) (T <: U)
<:-function-right p t Tt with p (function-tgt t) (function-tgt Tt)
<:-function-right p t Tt | function-tgt St = St
≮:-function-left : {R S T U} (R ≮: S) (S T) ≮: (R U)
:-function-left (witness t p q) = witness (function-err t) (function-err q) (function-err p)
≮:-function-right : {R S T U} (R ≮: never) (T ≮: U) (S T) ≮: (R U)
:-function-right (witness s r _) (witness t p q) = witness (function-ok s t) (function-ok₂ p) (function-ok r q)
≮:-function-right : {R S T U} (T ≮: U) (S T) ≮: (R U)
:-function-right (witness t p q) = witness (function-tgt t) (function-tgt p) (function-tgt q)
-- Properties of scalars
skalar-function-ok : {s t} (¬Language skalar (function-ok s t))