|
| 1 | +# SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +# SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 3 | +# |
| 4 | +# provers.a2ml — Authoritative enumeration of ECHIDNA prover backends. |
| 5 | +# |
| 6 | +# Generated from src/rust/provers/mod.rs::ProverKind. One section per |
| 7 | +# variant, keyed by the variant's PascalCase name for stability against |
| 8 | +# slug-format drift. `slug` is the snake_case identifier used on the |
| 9 | +# wire (matches serde's rename_all = "snake_case" default). |
| 10 | +# |
| 11 | +# Downstream consumers: |
| 12 | +# - .github/workflows/backend-matrix.yml (vcl-ut) reads this file to |
| 13 | +# build its matrix strategy, one job per prover. |
| 14 | +# - Future sync check fails CI if this file drifts from ProverKind::all(). |
| 15 | +# |
| 16 | +# SYNC SOURCE-OF-TRUTH: `pub enum ProverKind` in src/rust/provers/mod.rs. |
| 17 | +# If that enum changes, regenerate with scripts/gen-provers-a2ml.sh. |
| 18 | + |
| 19 | +[metadata] |
| 20 | +version = "1.0.0" |
| 21 | +source = "src/rust/provers/mod.rs::ProverKind" |
| 22 | +date = "2026-04-24" |
| 23 | +count = 113 |
| 24 | + |
| 25 | +[prover.ABC] |
| 26 | +slug = "abc" |
| 27 | + |
| 28 | +[prover.Abella] |
| 29 | +slug = "abella" |
| 30 | + |
| 31 | +[prover.ACL2] |
| 32 | +slug = "acl2" |
| 33 | + |
| 34 | +[prover.ACL2s] |
| 35 | +slug = "acl2s" |
| 36 | + |
| 37 | +[prover.AffineTypeChecker] |
| 38 | +slug = "affine_type_checker" |
| 39 | + |
| 40 | +[prover.Agda] |
| 41 | +slug = "agda" |
| 42 | + |
| 43 | +[prover.Alloy] |
| 44 | +slug = "alloy" |
| 45 | + |
| 46 | +[prover.AltErgo] |
| 47 | +slug = "alt_ergo" |
| 48 | + |
| 49 | +[prover.Arend] |
| 50 | +slug = "arend" |
| 51 | + |
| 52 | +[prover.Athena] |
| 53 | +slug = "athena" |
| 54 | + |
| 55 | +[prover.Boogie] |
| 56 | +slug = "boogie" |
| 57 | + |
| 58 | +[prover.BunchedTypeChecker] |
| 59 | +slug = "bunched_type_checker" |
| 60 | + |
| 61 | +[prover.CaDiCaL] |
| 62 | +slug = "ca_di_ca_l" |
| 63 | + |
| 64 | +[prover.Cameleer] |
| 65 | +slug = "cameleer" |
| 66 | + |
| 67 | +[prover.CapabilityTypeChecker] |
| 68 | +slug = "capability_type_checker" |
| 69 | + |
| 70 | +[prover.CBMC] |
| 71 | +slug = "cbmc" |
| 72 | + |
| 73 | +[prover.ChoreographicTypeChecker] |
| 74 | +slug = "choreographic_type_checker" |
| 75 | + |
| 76 | +[prover.Chuffed] |
| 77 | +slug = "chuffed" |
| 78 | + |
| 79 | +[prover.CoeffectTypeChecker] |
| 80 | +slug = "coeffect_type_checker" |
| 81 | + |
| 82 | +[prover.Coq] |
| 83 | +slug = "coq" |
| 84 | + |
| 85 | +[prover.CubicalAgda] |
| 86 | +slug = "cubical_agda" |
| 87 | + |
| 88 | +[prover.CubicalTypeChecker] |
| 89 | +slug = "cubical_type_checker" |
| 90 | + |
| 91 | +[prover.CVC5] |
| 92 | +slug = "cvc5" |
| 93 | + |
| 94 | +[prover.Dafny] |
| 95 | +slug = "dafny" |
| 96 | + |
| 97 | +[prover.Dedukti] |
| 98 | +slug = "dedukti" |
| 99 | + |
| 100 | +[prover.DependentTypeChecker] |
| 101 | +slug = "dependent_type_checker" |
| 102 | + |
| 103 | +[prover.DReal] |
| 104 | +slug = "d_real" |
| 105 | + |
| 106 | +[prover.DyadicTypeChecker] |
| 107 | +slug = "dyadic_type_checker" |
| 108 | + |
| 109 | +[prover.EchoTypeChecker] |
| 110 | +slug = "echo_type_checker" |
| 111 | + |
| 112 | +[prover.EffectRowTypeChecker] |
| 113 | +slug = "effect_row_type_checker" |
| 114 | + |
| 115 | +[prover.EpistemicTypeChecker] |
| 116 | +slug = "epistemic_type_checker" |
| 117 | + |
| 118 | +[prover.EProver] |
| 119 | +slug = "e_prover" |
| 120 | + |
| 121 | +[prover.ExistentialTypeChecker] |
| 122 | +slug = "existential_type_checker" |
| 123 | + |
| 124 | +[prover.FramaC] |
| 125 | +slug = "frama_c" |
| 126 | + |
| 127 | +[prover.FStar] |
| 128 | +slug = "f_star" |
| 129 | + |
| 130 | +[prover.GLPK] |
| 131 | +slug = "glpk" |
| 132 | + |
| 133 | +[prover.GradualTypeChecker] |
| 134 | +slug = "gradual_type_checker" |
| 135 | + |
| 136 | +[prover.HigherKindedTypeChecker] |
| 137 | +slug = "higher_kinded_type_checker" |
| 138 | + |
| 139 | +[prover.HoareTypeChecker] |
| 140 | +slug = "hoare_type_checker" |
| 141 | + |
| 142 | +[prover.HOL4] |
| 143 | +slug = "hol4" |
| 144 | + |
| 145 | +[prover.HOLLight] |
| 146 | +slug = "hol_light" |
| 147 | + |
| 148 | +[prover.HomotopyTypeChecker] |
| 149 | +slug = "homotopy_type_checker" |
| 150 | + |
| 151 | +[prover.Idris2] |
| 152 | +slug = "idris2" |
| 153 | + |
| 154 | +[prover.Imandra] |
| 155 | +slug = "imandra" |
| 156 | + |
| 157 | +[prover.ImmutableTypeChecker] |
| 158 | +slug = "immutable_type_checker" |
| 159 | + |
| 160 | +[prover.ImpureTypeChecker] |
| 161 | +slug = "impure_type_checker" |
| 162 | + |
| 163 | +[prover.IndexedTypeChecker] |
| 164 | +slug = "indexed_type_checker" |
| 165 | + |
| 166 | +[prover.IntersectionTypeChecker] |
| 167 | +slug = "intersection_type_checker" |
| 168 | + |
| 169 | +[prover.Isabelle] |
| 170 | +slug = "isabelle" |
| 171 | + |
| 172 | +[prover.IsabelleZF] |
| 173 | +slug = "isabelle_zf" |
| 174 | + |
| 175 | +[prover.KatagoriaVerifier] |
| 176 | +slug = "katagoria_verifier" |
| 177 | + |
| 178 | +[prover.KeY] |
| 179 | +slug = "ke_y" |
| 180 | + |
| 181 | +[prover.Kissat] |
| 182 | +slug = "kissat" |
| 183 | + |
| 184 | +[prover.LambdaProlog] |
| 185 | +slug = "lambda_prolog" |
| 186 | + |
| 187 | +[prover.Lean] |
| 188 | +slug = "lean" |
| 189 | + |
| 190 | +[prover.Lean3] |
| 191 | +slug = "lean3" |
| 192 | + |
| 193 | +[prover.LinearTypeChecker] |
| 194 | +slug = "linear_type_checker" |
| 195 | + |
| 196 | +[prover.Matita] |
| 197 | +slug = "matita" |
| 198 | + |
| 199 | +[prover.Mercury] |
| 200 | +slug = "mercury" |
| 201 | + |
| 202 | +[prover.Metamath] |
| 203 | +slug = "metamath" |
| 204 | + |
| 205 | +[prover.MiniSat] |
| 206 | +slug = "mini_sat" |
| 207 | + |
| 208 | +[prover.MiniZinc] |
| 209 | +slug = "mini_zinc" |
| 210 | + |
| 211 | +[prover.Minlog] |
| 212 | +slug = "minlog" |
| 213 | + |
| 214 | +[prover.Mizar] |
| 215 | +slug = "mizar" |
| 216 | + |
| 217 | +[prover.MizAR] |
| 218 | +slug = "miz_ar" |
| 219 | + |
| 220 | +[prover.ModalTypeChecker] |
| 221 | +slug = "modal_type_checker" |
| 222 | + |
| 223 | +[prover.Naproche] |
| 224 | +slug = "naproche" |
| 225 | + |
| 226 | +[prover.Nitpick] |
| 227 | +slug = "nitpick" |
| 228 | + |
| 229 | +[prover.NominalTypeChecker] |
| 230 | +slug = "nominal_type_checker" |
| 231 | + |
| 232 | +[prover.Nunchaku] |
| 233 | +slug = "nunchaku" |
| 234 | + |
| 235 | +[prover.Nuprl] |
| 236 | +slug = "nuprl" |
| 237 | + |
| 238 | +[prover.NuSMV] |
| 239 | +slug = "nu_smv" |
| 240 | + |
| 241 | +[prover.OpenSmt] |
| 242 | +slug = "open_smt" |
| 243 | + |
| 244 | +[prover.OrderedTypeChecker] |
| 245 | +slug = "ordered_type_checker" |
| 246 | + |
| 247 | +[prover.OrdinaryTypeChecker] |
| 248 | +slug = "ordinary_type_checker" |
| 249 | + |
| 250 | +[prover.ORTools] |
| 251 | +slug = "or_tools" |
| 252 | + |
| 253 | +[prover.PhantomTypeChecker] |
| 254 | +slug = "phantom_type_checker" |
| 255 | + |
| 256 | +[prover.PolymorphicTypeChecker] |
| 257 | +slug = "polymorphic_type_checker" |
| 258 | + |
| 259 | +[prover.Prism] |
| 260 | +slug = "prism" |
| 261 | + |
| 262 | +[prover.ProbabilisticTypeChecker] |
| 263 | +slug = "probabilistic_type_checker" |
| 264 | + |
| 265 | +[prover.ProvabilityTypeChecker] |
| 266 | +slug = "provability_type_checker" |
| 267 | + |
| 268 | +[prover.Prover9] |
| 269 | +slug = "prover9" |
| 270 | + |
| 271 | +[prover.ProVerif] |
| 272 | +slug = "pro_verif" |
| 273 | + |
| 274 | +[prover.PVS] |
| 275 | +slug = "pvs" |
| 276 | + |
| 277 | +[prover.QTTTypeChecker] |
| 278 | +slug = "qtt_type_checker" |
| 279 | + |
| 280 | +[prover.RefinementTypeChecker] |
| 281 | +slug = "refinement_type_checker" |
| 282 | + |
| 283 | +[prover.RelevantTypeChecker] |
| 284 | +slug = "relevant_type_checker" |
| 285 | + |
| 286 | +[prover.Rocq] |
| 287 | +slug = "rocq" |
| 288 | + |
| 289 | +[prover.RowTypeChecker] |
| 290 | +slug = "row_type_checker" |
| 291 | + |
| 292 | +[prover.SCIP] |
| 293 | +slug = "scip" |
| 294 | + |
| 295 | +[prover.SeaHorn] |
| 296 | +slug = "sea_horn" |
| 297 | + |
| 298 | +[prover.SessionTypeChecker] |
| 299 | +slug = "session_type_checker" |
| 300 | + |
| 301 | +[prover.SmtRat] |
| 302 | +slug = "smt_rat" |
| 303 | + |
| 304 | +[prover.SPASS] |
| 305 | +slug = "spass" |
| 306 | + |
| 307 | +[prover.SPIN] |
| 308 | +slug = "spin" |
| 309 | + |
| 310 | +[prover.SubtypingTypeChecker] |
| 311 | +slug = "subtyping_type_checker" |
| 312 | + |
| 313 | +[prover.Tamarin] |
| 314 | +slug = "tamarin" |
| 315 | + |
| 316 | +[prover.TemporalTypeChecker] |
| 317 | +slug = "temporal_type_checker" |
| 318 | + |
| 319 | +[prover.TLAPS] |
| 320 | +slug = "tlaps" |
| 321 | + |
| 322 | +[prover.TLC] |
| 323 | +slug = "tlc" |
| 324 | + |
| 325 | +[prover.TropicalTypeChecker] |
| 326 | +slug = "tropical_type_checker" |
| 327 | + |
| 328 | +[prover.Twelf] |
| 329 | +slug = "twelf" |
| 330 | + |
| 331 | +[prover.TypedWasm] |
| 332 | +slug = "typed_wasm" |
| 333 | + |
| 334 | +[prover.TypeLL] |
| 335 | +slug = "type_ll" |
| 336 | + |
| 337 | +[prover.UnionTypeChecker] |
| 338 | +slug = "union_type_checker" |
| 339 | + |
| 340 | +[prover.UniquenessTypeChecker] |
| 341 | +slug = "uniqueness_type_checker" |
| 342 | + |
| 343 | +[prover.UPPAAL] |
| 344 | +slug = "uppaal" |
| 345 | + |
| 346 | +[prover.UppaalStratego] |
| 347 | +slug = "uppaal_stratego" |
| 348 | + |
| 349 | +[prover.Vampire] |
| 350 | +slug = "vampire" |
| 351 | + |
| 352 | +[prover.Viper] |
| 353 | +slug = "viper" |
| 354 | + |
| 355 | +[prover.Why3] |
| 356 | +slug = "why3" |
| 357 | + |
| 358 | +[prover.Z3] |
| 359 | +slug = "z3" |
| 360 | + |
| 361 | +[prover.Zipperposition] |
| 362 | +slug = "zipperposition" |
| 363 | + |
0 commit comments