Leonardo de Moura
368fcb5ff9
refactor(builtin/kernel): rename refute to by_contradiction
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-12 08:49:19 -08:00
Leonardo de Moura
0878b44fc7
feat(frontends/lean): allow user to import several theories using a single import
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-11 17:15:12 -08:00
Leonardo de Moura
c45c1748d8
refactor(builtin/kernel): reorder congr1 arguments
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-09 16:15:44 -08:00
Leonardo de Moura
8df7c7b02d
feat(kernel/type_checker): remove fallback that expands opaque definitions in the type checker
...
We should not rely on this feature. It can be quite expensive.
We invoke is_convertible in several places, in particular, if we are using overloading. For example, the frontend uses is_convertible to check which overload should be used. Thus, it will make several calls such as
is_convertible(num, Nat)
If is_convertible starts unfolding opaque definitions, we would keep expanding num.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-09 11:31:24 -08:00
Leonardo de Moura
daf7075ce4
refactor(builtin/sum): use new 'have' expression to formalize optional-types
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-06 09:15:12 -08:00
Leonardo de Moura
c01f82aeb7
feat(builtin): add sum types
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-05 23:04:44 -08:00
Leonardo de Moura
87da23649b
feat(builtin/optional): prove dichotomy and induction theorems for optional types
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-05 19:49:50 -08:00
Leonardo de Moura
30570c843f
feat(builtin): add optional type
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-05 17:33:06 -08:00