This commit is contained in:
Nuno Lopes 2018-05-17 09:36:47 +01:00
Родитель 0112282889
Коммит 589e611e66
29 изменённых файлов: 87 добавлений и 5 удалений

Просмотреть файл

@ -1,24 +1,23 @@
# alive_in_lean
# AliveInLean
## Setup
- Please download Nighty Windows from https://leanprover.github.io/download/
- Download Lean 3.4.1 or later from https://leanprover.github.io/download/
- Extract it, and update PATH environmental variable so command `lean` can be executed on the command prompt
- Download & install z3 from https://github.com/Z3Prover/z3 and update PATH so `z3` can be executed as well
- Run `leanpkg upgrade` to install SMT lib interface and mathlib
- NOTE: `leanpkg build` may fail, due to several yet incomplete files in submodules
## Run
```
# Runs selected tests from Alive's test suite (which contain
# Run selected tests from Alive's test suite (which contain
# no precondition and do not require additional grammars)
./run-alive.sh
```
```
# Runs random testings for specification of Z3 expression -
# Run random tests for the specification of Z3 expression -
# concrete value, as well as 4 admitted arithmetic lemmas.
# Note that bv_equiv.zext/sext/trunc will have 'omitted' tests
# because sometimes generated expressions try to compare

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .common
import .ops

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
def size := { n:nat // 0 < n }
namespace size

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .lang
import .irsem
import .irsem_exec

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
/-
Semantics of LLVM IR
-/

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import system.io
import smt2.syntax
import .irsem

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import system.io
import smt2.syntax
import smt2.builder

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .lang
-- Returns true if program p contains uninstantiated type.

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
-- constant value
inductive const : Type
| int : → const

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .lang
namespace const

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .lang
import .lang_tostr
import data.buffer.parser

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import system.io
import system.random
import .freevar

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .common
universes u v

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import system.io
import .smtexpr
import .smtcompile

Просмотреть файл

@ -1,3 +1,5 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import system.io
import .smtexpr

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .smtexpr
import smt2.syntax
import smt2.builder

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .common
import .ops
import .bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..bitvector
import .spec

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..smtcompile
import ..bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..bitvector
import ..irsem

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..smtcompile
import ..bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .spec
import .lemmas
import ..irsem

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..smtcompile
import ..bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
universes u v
-- Basic
lemma prod_inj: ∀ {α:Type u} {β:Type v} (p q:α × β),

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..smtcompile
import ..bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..smtcompile
import ..bitvector

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import ..smtexpr
import ..bitvector
import ..irsem

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .lang
import .irsem
import .irsem_exec

Просмотреть файл

@ -1,3 +1,6 @@
-- Copyright (c) Microsoft Corporation. All rights reserved.
-- Licensed under the MIT license.
import .ops
import .lang
import .irsem