Sto imparando il teorema automatizzato Proving / risolutori SMT / Proof Assistants da solo e postando una serie di domande sul processo, a partire da qui. Si noti che questi argomenti non sono facilmente digeribili senza uno sfondo in logiche (matematiche). In caso di problemi con i termini di base, …
Wikipedia e altre fonti che ho trovato elencano il voidtipo C come un tipo di unità anziché un tipo vuoto. Lo trovo confuso in quanto mi sembra che si voidadatti meglio alla definizione di un tipo vuoto / inferiore. voidPer quanto ne so, non abitano valori . Una funzione con …
Stavo guardando le " Cinque fasi dell'accettazione della matematica costruttiva " di Andrej Bauer e lui afferma che ci sono due tipi di prove per contraddizione (o due cose che i matematici chiamano prova per contraddizione): Supponiamo che sia falso ... blah blah blah, contraddizione. Pertanto P è vero.PPPPPP Supponiamo …
Considera un tipo induttivo che presenta alcune occorrenze ricorsive in una posizione nidificata, ma strettamente positiva. Ad esempio, alberi con ramificazione finita con nodi che utilizzano una struttura di dati di elenco generica per memorizzare i figli. Inductive LTree : Set := Node : list LTree -> LTree. Il modo …
Qualcuno ha mai effettivamente scritto un sistema (software o spiegazione dettagliata su carta con semplici esempi) che genera programmi per computer? Inserisco e crea un programma che elenca i numeri primi inferiori a 10. P r i m e ( x ) è semplicemente definito come 1 < x ∧ …
Sono programmatore con una presa sugli automi, ma non sulla logica. Ho letto sui giornali che i due sono strettamente legati. Gli automi deterministici finiti (DFA), gli automi ad albero e gli automi a spinta visibile sono tutti correlati alla logica del secondo ordine (MSO) di Monadic. Anche se, capisco …
Chiuso. Questa domanda è fuori tema . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia sull'argomento per Computer Stack Stack Exchange. Chiuso 2 anni fa . I tipi AFAIU possono essere a i Setcui elementi sono programmi o i propositioncui elementi sono …
Attualmente devo imparare Coq e non so come affrontare un or: Ad esempio, per quanto sia semplice, non vedo come provare: Theorem T0: x \/ ~x. Lo apprezzerei davvero, se qualcuno potesse aiutarmi. Per riferimento utilizzo questo cheat sheet . Anche un esempio di una prova che ho in mente: …
Sono relativamente nuovo alla teoria dei tipi e alla programmazione dipendente. Ho studiato il calcolo delle costruzioni (CoC) e altri sistemi di tipo puro. Sono particolarmente interessato a usarlo come rappresentazione intermedia di conservazione delle prove per un sistema di compilazione. Comprendo che i tipi (co) ricorsivi sono rappresentabili , …
Sono curioso. Ho lavorato su questo tipo di dati in OCaml : type 'a exptree = | Epsilon | Delta of 'a exptree * 'a exptree | Omicron of 'a | Iota of 'a exptree exptree Che può essere manipolato usando funzioni ricorsive tipizzate in modo esplicito (una funzione che …
I numeri naturali sono definiti induttivamente come (usando la sintassi di Coq come esempio) Inductive nat: Set := | O: nat | S: nat -> nat. Esiste un modo standard per definire in modo costruttivo numeri interi (e forse altri insiemi come razionali e reali)?
sfondo Sto imparando l'assistenza, Coq, da solo. Finora ho completato la lettura del Coq in a Hurry di Yves Bertot . Ora, il mio obiettivo è quello di dimostrare alcuni risultati di base riguardanti i numeri naturali, culminando con il cosiddetto algoritmo di divisione. Tuttavia, ho riscontrato alcune battute d'arresto …
Coq include espressioni let nel suo linguaggio principale. Siamo in grado di tradurre le espressioni let in applicazioni come questa: let x : t = v in b ~> (\(x:t). b) v capisco che ciò non funziona sempre perché il valore vnon sarebbe disponibile quando si esegue il controllo dei …
Sono al seguente esercizio in Software Foundations : (** **** Exercise: 2 stars (baz_num_elts) *) (** Consider the following inductive definition: *) Inductive baz : Type := | x : baz -> baz | y : baz -> bool -> baz. (** How _many_ elements does the type [baz] have? …
Il COQ è un dimostratore di teorema interattivo che usa il calcolo delle costruzioni induttive, cioè fa molto affidamento sui tipi induttivi. Usando queste, strutture discrete come numeri naturali, numeri razionali, grafici, grammatiche, semantica ecc. Sono rappresentate in modo molto conciso. Tuttavia, da quando ho iniziato ad apprezzare l'assistente per …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.