Pytania otagowane jako proof-techniques

Pytania dotyczące ogólnych metod i technik dowodzenia wielu twierdzeń. Pytając o dowód pojedynczego stwierdzenia, zamiast tego użyj tagów odnoszących się do tego, czego dotyczy dowód.

2
Dowód konfluencji dla prostego systemu przepisywania
Załóżmy, że mamy prosty język, który składa się z terminów: truetrue\mathtt{true} falsefalse\mathtt{false} jeśli są warunkami, to podobnie jest zi ft1,t2,t3t1,t2,t3t_1,t_2,t_3ift1thent2elset3ift1thent2elset3\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 Załóżmy teraz następujące logiczne reguły oceny: iftruethent2elset3→t2[E-IfTrue]iffalsethent2elset3→t3[E-IfFalse]t1→t′1ift1thent2elset3→ift′1thent2elset3[E-If]iftruethent2elset3→t2[E-IfTrue]iffalsethent2elset3→t3[E-IfFalse]t1→t1′ift1thent2elset3→ift1′thent2elset3[E-If] \begin{gather*} \dfrac{} {\mathtt{if}\: \mathtt{true} \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 \to t_2} \text{[E-IfTrue]} \quad \dfrac{} {\mathtt{if}\: \mathtt{false} \:\mathtt{then}\: t_2 \:\mathtt{else}\: …

1
Wnioskowanie o rodzajach uściślenia
W pracy miałem za zadanie wnioskować o pewnych typach informacji o dynamicznym języku. Przepisuję sekwencje instrukcji na letwyrażenia zagnieżdżone , tak jak poniżej: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
Twierdzenie główne nie dotyczy?
Biorąc pod uwagę następujące równanie rekurencyjne T.( n ) = 2 T.( n2)) +nlognT(n)=2T(n2)+nlog⁡n T(n) = 2T\left(\frac{n}{2}\right)+n\log nchcemy zastosować twierdzenie Master i zauważyć, że nlog2)( 2 )= n .nlog2⁡(2)=n. n^{\log_2(2)} = n. Teraz sprawdzamy dwa pierwsze przypadki dla ε > 0ε>0\varepsilon > 0 , czyli czy n logn ∈ O …

2
Jak radzić sobie z tablicami podczas sprawdzania poprawności w stylu Hoare'a
W dyskusji wokół tego pytania Gilles poprawnie wspomina, że ​​każdy dowód poprawności algorytmu wykorzystującego tablice musi udowodnić, że nie ma dostępu do tablicy poza granicami; w zależności od modelu środowiska wykonawczego spowoduje to błąd środowiska wykonawczego lub dostęp do elementów innych niż macierzowe. Jedną z powszechnych technik przeprowadzania takich dowodów …

1
Pompujący lemat dla deterministycznych języków bezkontekstowych?
Lemat pompujący dla zwykłych języków może być użyty do udowodnienia, że ​​niektóre języki nie są regularne, a lemat pompujący dla języków bezkontekstowych (wraz z lematem Ogdena) może być użyty do udowodnienia, że ​​niektóre języki nie są kontekstowe. Czy istnieje determinujący lemat dla deterministycznych języków bezkontekstowych? To znaczy, czy istnieje lemat …

2
Czy możemy pokazać, że języka nie da się wyliczyć, pokazując, że nie ma dla niego weryfikatora?
Jedna z definicji zestawu wyliczalnego (ce, równoważnego rekurencyjnie wyliczalnemu, równoważnego semidecidable) jest następująca: A⊆Σ∗A⊆Σ∗A \subseteq \Sigma^* oznacza, że ​​istnieje rozstrzygalny językV⊆Σ∗V⊆Σ∗V\subseteq \Sigma^* (zwany weryfikatorem) st dla wszystkichx∈Σ∗x∈Σ∗x\in \Sigma^* , IFF istnieje y ∈ Ď * st ⟨ x , y ⟩ ∈ V .x∈Ax∈Ax\in Ay∈Σ∗y∈Σ∗y\in\Sigma^*⟨x,y⟩∈V⟨x,y⟩∈V\langle x, y \rangle \in V …

4
Jakie są popularne formalne techniki potwierdzania poprawności kodu funkcjonalnego?
Chcę przedstawić dowody dla części programu Haskell, który piszę w ramach mojej pracy magisterskiej. Jednak jak dotąd nie udało mi się znaleźć dobrej pracy referencyjnej. Książka wprowadzająca Grahama Huttona Programowanie w Haskell ( Google Books ) - którą czytam podczas nauki Haskell - porusza kilka technik rozumowania programów, takich jak …


3
Czy można udowodnić bezpieczeństwo wątków?
Biorąc pod uwagę program składający się ze zmiennych i instrukcji, które modyfikują te zmienne, oraz operację podstawową synchronizacji (monitor, mutex, Java zsynchronizowany lub blokada C #), czy można udowodnić, że taki program jest bezpieczny dla wątków? Czy istnieje nawet formalny model opisujący takie rzeczy, jak bezpieczeństwo wątków lub warunki wyścigowe?
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.