I hereby claim:
- I am jroesch on github.
- I am jroesch (https://keybase.io/jroesch) on keybase.
- I have a public key ASBf8b_8AaIUVF36T9XaBWbFXAx5x4EKks0ER_dErpVcWwo
To claim this, I am signing this object:
# Licensed to the Apache Software Foundation (ASF) under one | |
# or more contributor license agreements. See the NOTICE file | |
# distributed with this work for additional information | |
# regarding copyright ownership. The ASF licenses this file | |
# to you under the Apache License, Version 2.0 (the | |
# "License"); you may not use this file except in compliance | |
# with the License. You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# |
-- imagine pseudo terms like this | |
-- def id : Pi (A : Type), A -> A := ... | |
-- irrelevant.fun | |
irrelevant.fun A Type (fun x, x) | |
-- irrelevant.fun A Type (fun x, x) => fun x, x | |
-- application of id | |
(irrelevant.app (fun x, x) A) 10 |
definition position := nat | |
inductive result (I : Type) : Type -> Type | |
| fail : Π {R}, I -> list string -> string -> result R | |
| partial : Π {R}, (I -> result R) -> result R | |
| done : Π {R}, I -> R -> result R | |
open result | |
definition result.map {A B I : Type} (f : A → B) : result I A -> result I B |
-- module | |
structure Map := | |
(M : Type -> Type) | |
(K : Type) | |
(V : Type) | |
(read : K -> V) | |
(insert : K -> V -> M K V -> M K V) | |
-- where refinement | |
definition int_map := { map | map.M = nat } |
I hereby claim:
To claim this, I am signing this object:
import system.IO | |
import system.ffi | |
-- import config | |
-- This is all just config | |
set_option native.library_path "/Users/jroesch/Git/lean/build/debug" | |
set_option native.include_path "/Users/jroesch/Git/lean/src" | |
-- This flag controls whether lean will automatically invoke C++ | |
-- set_option native.compile false | |
set_option native.emit_dwarf true |
inductive induction_target := | |
| expr : expr -> induction_target | |
| name : name → induction_target | |
definition expr_to_induction_target [coercion] (e : expr) : induction_target := | |
induction_target.expr e | |
definition name_to_induction_target [coercion] (n : name) : induction_target := | |
induction_target.name n |
#include <iostream> | |
#include "util/numerics/mpz.h" | |
#include "library/vm/vm_io.h" | |
#include "library/vm/vm.h" | |
#include "init/init.h" | |
namespace lean { | |
lean::vm_obj put_nat(lean::vm_obj const &, lean::vm_obj const &); | |
} |
check @nat.rec | |
constant C : nat -> Type | |
constant cZ : C nat.zero | |
constant cS : forall n, C n -> C (nat.succ n) | |
eval (@nat.rec C cZ cS nat.zero) | |
constant x : nat |