HOME

TheInfoList



OR:

Logical relations are a
proof method A mathematical proof is an inferential argument for a mathematical statement, showing that the stated assumptions logically guarantee the conclusion. The argument may use other previously established statements, such as theorems; but every proof ...
employed in
programming language semantics In programming language theory, semantics is the rigorous mathematical study of the meaning of programming languages. Semantics assigns computational meaning to valid strings in a programming language syntax. Semantics describes the processe ...
to show that two
denotational semantics In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings of programming languages by constructing mathematical objects (called ''denotations'' ...
are equivalent. To describe the process, let us denote the two semantics by ![-!">.html" ;"title="![-">![-!i, where i=1,2. For each data type">type A, there is a particular associated binary relation">relation Relation or relations may refer to: General uses *International relations, the study of interconnection of politics, economics, and law on a global level *Interpersonal relationship, association or acquaintance between two or more people *Public ...
\sim between [\![A]\!]_1 and [\![A]\!]_2. This relation is defined such that for each program phrase M, the two denotations are related: [\![M]\!]_1 \sim [\![M]\!]_2. Another property of this relation is that related denotations for ''ground types'' are equivalent in some sense, usually equal. The conclusion is then that both denotations exhibit equivalent behavior on ground terms, hence are equivalent.


References

* https://www.cs.uoregon.edu/research/summerschool/summer13/lectures/ahmed-1.pdf
POPLmark Reloaded
Proofs involving logical relations used as a benchmark for
proof assistants In computer science and mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of formal proofs by human-machine collaboration. This involves some sort of interactive proof editor ...
. Programming language semantics {{Formalmethods-stub