Skip to content

Instantly share code, notes, and snippets.

View jsmorph's full-sized avatar

Jamie Stephens jsmorph

View GitHub Profile
@jsmorph
jsmorph / Spec.lean
Created June 19, 2026 18:48
LeanExe association-list WASM proof with Talos
import Project.AssocList.Program
import Interpreter.Wasm.Wp.Tactic
import Interpreter.Wasm.Wp.Call
/-!
# Specification for `lookupDemo`
-/
namespace Project.AssocList.Spec
@jsmorph
jsmorph / Spec.lean
Created June 19, 2026 15:58
Verifying generated LeanExe WASM with Talos
import Project.Gcd.Program
import Interpreter.Wasm.Wp.Tactic
import Interpreter.Wasm.Wp.Block
import Interpreter.Wasm.Wp.Loop
/-!
# Specification for `gcd`
-/
namespace Project.Gcd.Spec
@jsmorph
jsmorph / armstrong-kempe-instructions.md
Last active April 9, 2026 19:01
Some math formalization guidelines based on Armstrong and Kempe
@jsmorph
jsmorph / evm1.lean
Created February 27, 2025 14:25
A bit of EVM in Lean4
namespace EthereumVm
inductive OpCode where
| STOP
| ADD
| MUL
| PUSH1 (value : UInt8)
| MLOAD
| MSTORE
| MSTORE8
@jsmorph
jsmorph / q7p4.ipynb
Created November 30, 2022 03:24
Example notebook
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@jsmorph
jsmorph / demo.txt
Created May 21, 2022 14:52
quaminagen demo
y@dev20210711:~/src/quamina$ quaminagen -h
Usage of quaminagen:
-core
use CoreMatcher instead of Pruner
-matching-events int
number of matching events (default 1000)
-matching-patterns int
number of Matching patterns (default 1000)
-num-pattern-ids int
number of pattern ids (default 400)
@jsmorph
jsmorph / race_test.go
Last active May 20, 2022 17:39
Looking for races
package quamina
import (
"fmt"
"log"
"math/rand"
"sync"
"testing"
)
@jsmorph
jsmorph / doc.md
Last active May 13, 2022 03:19
RemPattern for Quamina

RemPattern for Quamina

Basic problem and proposed solution

Quamina doesn't currently support RemPattern. Some of the contemplated implementations of RemPattern are difficult. At least one approach is pretty easy: Wrap the current matcher to filter removed patterns from match results and periodically rebuild the matcher from scrach with the live patterns. More specifically:

@jsmorph
jsmorph / ops.md
Last active January 26, 2022 20:12
CSS ops

CSS operations

CSS = Conjunction Streaming Service, which consumes orbital data (currently TLEs) and emits conjunction reports for objects on orbit (or crossing orbits).

Contact

Email contact: info@morphism.com.

@jsmorph
jsmorph / genschemagui.md
Last active July 14, 2019 23:01
Generating a GUI from generated JSON schema

To run a model, you need a configuration. The structure of a configuration consists of various Go structures, maps, and other types. We use a fork (with only minor changes) of github.com/alecthomas/jsonschema to generate a JSON schema for model configurations. For one GUI, we then use github.com/json-editor/json-editor to generate a complex HTML/Javascript configuration form dynamically from that JSON schema. A Go program serves the HTML and Javascript, and that program also runs then model. The model output is rendered using d3js.org.