\documentclass[a4paper]{article}
\usepackage{progm}
\analpacks
\analoldal{2. feladatsor, 20. feladat}
\begin{document}
\noindent
\emph{Feladat:} Határozzuk meg az $n$ természetes szám legkisebb egyszeres osztóját!

\emph{Specifikáció:}\\
$A = \alatt{\N}{n} \times \alatt{\N}{i}$\\
$B = \alatt{\N}{n'}$\\
$Q = ( n=n' \es n>1)$\\
$R = ( Q \es i\in [2,n] \es i|n \es \nem i^2|n \es \forall j\in [2,i-1]:\nem( i|n \es \nem i^2|n))$

Matematikai ismereteinkből következik, hogy az általunk felírt
utófeltétel ekvivalens egy olyannal, ami az $i$ maximális értékére nem
tesz kikötést.

Visszavezetés lineáris keresés 1.0-ra:

\begin{tabular}{cccr}
  feladat &  & lin. ker. 1.0 \\
  \hline
  $2$ & \knyil & $m$ \\
  $i|n \es \nem i^2|n$ & \knyil & $\beta(i)$
\end{tabular}

A visszavezetés alteres, a tétel $m$ változóját a $2$ konstanssal helyettesítjük.

\begin{stuki}
  \stm{i:=2}
  \begin{WHILE}{1}{\stm{\nem i|n \vagy i^2|n}}
    \stm{i:=i+1}
  \end{WHILE}
\end{stuki}


\end{document}
