Are there any provable real-world languages? (scala?)

Yes, there are languages designed for writing provably correct software. Some are even used in industry. Spark Ada is probably the most prominent example. I’ve talked to a few people at Praxis Critical Systems Limited who used it for code running on Boings (for engine monitoring) and it seems quite nice. (Here is a great … Read more

Can Haskell functions be proved/model-checked/verified with correctness properties?

Well, a few things to start with, since you’re taking the Haskell route: Are you familiar with the Curry-Howard correspondence? There are systems used for machine-checked proofs based on this which are, in many ways, simply functional programming languages with very powerful type systems. Are you familiar with the areas of abstract mathematics that provide … Read more

How to read this GHC Core “proof”?

@~ is coercion application. The angle brackets denote a reflexive coercion of their contained type with role given by the underscored letter. Thus <Nat.Flip x_ap0H>_N is an equality proof that Nat.Flip x_apH is equal to Nat.Flip x_apH nominally (as equal types not just equal representations). PS has a lot of arguments. We look at the … Read more