Computable Pred iff decoded pred
ComputablePred.iff_decoded_pred
Plain-language statement
Computability of a predicate on a Primcodable type is equivalent to the computability of the corresponding predicate on ℕ obtained by decoding.
Exact Lean statement
lemma _root_.ComputablePred.iff_decoded_pred {α : Type*} [Primcodable α] {A : α → Prop} :
ComputablePred A ↔ ComputablePred fun n : ℕ ↦ (Encodable.decode (α := α) n).elim False AFormal artifact
Lean source
lemma _root_.ComputablePred.iff_decoded_pred {α : Type*} [Primcodable α] {A : α → Prop} : ComputablePred A ↔ ComputablePred fun n : ℕ ↦ (Encodable.decode (α := α) n).elim False A := by constructor · intro hA refine computablePred_iff_computable_decide.mpr ?_ have hcomp := Computable.option_casesOn (o := fun n : ℕ => Encodable.decode (α := α) n) (f := fun _ => false) (g := fun _ a => decide (A a)) Computable.decode (Computable.const false) (hA.decide.comp Computable.snd) refine hcomp.of_eq fun n => ?_ rcases h : Encodable.decode (α := α) n with _ | a <;> simp · intro hg have hdec : Computable fun a : α => decide ((Encodable.decode (α := α) (Encodable.encode a)).elim False A) := hg.decide.comp Computable.encode refine ComputablePred.of_eq (p := fun a => (Encodable.decode (α := α) (Encodable.encode a)).elim False A) (computablePred_iff_computable_decide.mpr hdec) fun a => ?_ simp [Encodable.encodek]- Project
- Foundation
- License
- Apache-2.0
- Commit
- 8dcdb3196454
- Source
- Foundation/FirstOrder/Incompleteness/Halting.lean:82-99
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Bv quote fixitr
LO.FirstOrder.Arithmetic.Bootstrapping.bv_quote_fixitr
Plain-language statement
bv-pin bridge (over ℕ): bv ⌜fixitr 0 (fvSup χ) ▹ χ⌝ = fvSup χ. - ≤ is immediate from quote_univCl_eq + bv_qqAlls (closing fvSup quantifiers reaches a sentence, whose bv is 0). - ≥ is by level-factoring: were the body an IsSemiformula j for some j < fvSup, IsSemiformula.sound + castLE-invariance would re-express χ as `γ ⇜ ![...
Source project: Foundation
Person-level attribution pending.
Conj
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.conj
Plain-language statement
Crucial inducion for formalized -completeness.
Source project: Foundation
Person-level attribution pending.
Fvar Vec val eq
LO.FirstOrder.Arithmetic.Bootstrapping.fvarVec_val_eq
Plain-language statement
fvarVec is the code of the typed substitution vector fun i ↦ ^&i (over a standard length).
Source project: Foundation
Person-level attribution pending.