Qinxiang Cao
YOU?
Author Swipe
View article: The LLM Era Demands Natural-Language-Aligned Theorem Provers for Mathematics
The LLM Era Demands Natural-Language-Aligned Theorem Provers for Mathematics Open
View article: Encode the ∀∃ Relational Hoare Logic into Standard Hoare Logic
Encode the ∀∃ Relational Hoare Logic into Standard Hoare Logic Open
Verifying a real-world program’s functional correctness can be decomposed into (1) a refinement proof showing that the program implements a more abstract high-level program and (2) an algorithm correctness proof at the high level. Relation…
View article: Beyond Theorem Proving: Formulation, Framework and Benchmark for Formal Problem-Solving
Beyond Theorem Proving: Formulation, Framework and Benchmark for Formal Problem-Solving Open
As a seemingly self-explanatory task, problem-solving has been a significant component of science and engineering. However, a general yet concrete formulation of problem-solving itself is missing. With the recent development of AI-based pr…
View article: C*: Unifying Programming and Verification in C
C*: Unifying Programming and Verification in C Open
Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers…
View article: A Natural Formalized Proof Language
A Natural Formalized Proof Language Open
Artificial intelligence assisted mathematical proof has become a highly focused area nowadays. One key problem in this field is to generate formal mathematical proofs from natural language proofs. Due to historical reasons, the formal proo…
View article: Denotation-based Compositional Compiler Verification
Denotation-based Compositional Compiler Verification Open
A desired but challenging property of compiler verification is compositionality in the sense that the compilation correctness of a program can be deduced from that of its substructures ranging from statements, functions, and modules increm…
View article: A Coq Library of Sets for Teaching Denotational Semantics
A Coq Library of Sets for Teaching Denotational Semantics Open
Sets and relations are very useful concepts for defining denotational\nsemantics. In the Coq proof assistant, curried functions to Prop are used to\nrepresent sets and relations, e.g. A -> Prop, A -> B -> Prop, A -> B -> C ->\nProp, etc. F…
View article: VST-A: A Foundationally Sound Annotation Verifier
VST-A: A Foundationally Sound Annotation Verifier Open
Program verifiers for imperative languages such as C may be annotation-based , in which assertions and invariants are put into source files and then checked, or tactic-based, where proof scripts separate from programs are interactively dev…
View article: Towards General Loop Invariant Generation: A Benchmark of Programs with Memory Manipulation
Towards General Loop Invariant Generation: A Benchmark of Programs with Memory Manipulation Open
Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process…
View article: Verifying Programs with Logic and Extended Proof Rules: Deep Embedding v.s. Shallow Embedding
Verifying Programs with Logic and Extended Proof Rules: Deep Embedding v.s. Shallow Embedding Open
Many foundational program verification tools have been developed to build machine-checked program correctness proofs, a majority of which are based on Hoare logic. Their program logics, their assertion languages, and their underlying progr…
View article: Verifying Programs with Logic and Extended Proof Rules: Deep Embed v.s. Shallow Embed
Verifying Programs with Logic and Extended Proof Rules: Deep Embed v.s. Shallow Embed Open
Many foundational program verification tools have been developed to build machine-checkable program correctness proofs, a majority of which are based on Hoare logic. Their program logics, their assertion languages, and their underlying pro…
View article: Coq Formalization of ZFC Set Theory for Teaching Scenarios
Coq Formalization of ZFC Set Theory for Teaching Scenarios Open
PDF HTML XML Export Cite reminder Coq Formalization of ZFC Set Theory for Teaching Scenarios DOI: 10.21655/ijsi.1673-7288.00303 Author: Affiliation: Clc Number: Fund Project: Article | Figures | Metrics | Reference | Related | Cited by | M…
View article: Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection
Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection Open
Program representation, which aims at converting program source code into vectors with automatically extracted features, is a fundamental problem in programming language processing (PLP). Recent work tries to represent programs with neural…
View article: Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection
Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection Open
Program representation, which aims at converting program source code into vectors with automatically extracted features, is a fundamental problem in programming language processing (PLP). Recent work tries to represent programs with neural…
View article: Symbolic Reasoning About Quantum Circuits in Coq
Symbolic Reasoning About Quantum Circuits in Coq Open
View article: Countability of Inductive Types Formalized in the Object-Logic Level
Countability of Inductive Types Formalized in the Object-Logic Level Open
The set of integer number lists with finite length, and the set of binary trees with integer labels are both countably infinite. Many inductively defined types also have countably many elements. In this paper, we formalize the syntax of fi…
View article: Countability of Inductive Types Formalized in the Object-Logic Level
Countability of Inductive Types Formalized in the Object-Logic Level Open
The set of integer number lists with finite length, and the set of binary\ntrees with integer labels are both countably infinite. Many inductively defined\ntypes also have countably many elements. In this paper, we formalize the syntax\nof…
View article: Certifying graph-manipulating C programs via localizations within data structures
Certifying graph-manipulating C programs via localizations within data structures Open
We develop powerful and general techniques to mechanically verify realistic programs that manipulate heap-represented graphs. These graphs can exhibit well-known organization principles, such as being a directed acyclic graph or a disjoint…
View article: Proof Pearl: Magic Wand as Frame
Proof Pearl: Magic Wand as Frame Open
Separation logic adds two connectives to assertion languages: separating conjunction * ("star") and its adjoint, separating implication -* ("magic wand"). Comparatively, separating implication is less widely used. This paper demonstrates t…
View article: VST-A: A Foundationally Sound Annotation Verifier
VST-A: A Foundationally Sound Annotation Verifier Open
Program verifiers for imperative languages such as C may be annotation-based, in which assertions and invariants are put into source files and then checked, or tactic-based, where proof scripts separate from programs are interactively deve…
View article: Certifying Graph-Manipulating C Programs via Localizations within Data Structures
Certifying Graph-Manipulating C Programs via Localizations within Data Structures Open
We develop powerful and general techniques to mechanically verify realistic programs that manipulate heap- represented graphs. These graphs can exhibit well-known organization principles, such as being a directed acyclic graph or a disjoin…