4 Especificação Formal de Protocolos de Votação
Lema 4.5.1. O ST-CB é localmente confluente.
4.5.4 Codificação Lógica para o ST-CB
A especificação lógica do ST-CB é semelhante a codificação do ST-FPTP descrito anteri- ormente. Porém, como uma única cédula pode conter vários candidatos conforme preferência do eleitor, faz-se necessário uma outra expressão de contagem que considera os elementos da cédula, além da introdução de novos predicados, como os apresentados a seguir:
• 𝑣𝑛(𝑙)representa uma cédula não contada contendo uma lista 𝑙 formada por candidatos na
ordem de sua preferência, ou seja, se VN(𝑖) = {1 ↦ 𝑐𝑖1, ..., 𝑚 ↦ 𝑐𝑖𝑚}representa a cédula
• 𝑣𝑛𝑐(𝑙′, 𝑚) representa os votos de uma cédula não contada selecionada, onde 𝑙′ é a lista
dos candidatos por ordem decrescente de pontuação, e 𝑚 representa o tamanho dessa lista. • 𝑣𝑐(𝑐, 𝑛)representa que 𝑛 votos foram apurados para o candidato 𝑐;
• 𝑒𝑙(𝑤, 𝑛)representa que os candidatos da lista 𝑤 estão ganhando na contagem (sendo elei-
tos), com um total de 𝑛 votos cada um.
Definição 4.5.2. Seja 𝑣 o número de cédulas não contadas, 𝑝 o número de candidatos que ainda
estão na disputa, 𝑤 uma lista que mantém os candidatos com maior número de votos, 𝑛 o numero de votos recebido pelos candidatos da lista 𝑤. A codificação das componentes e de um estado do ST-CB é definida por ⟦𝑖 ↦ (1 ↦ 𝑐𝑖1, ..., 𝑚↦ 𝑐𝑖𝑚)⟧ = vn ( [𝑐𝑖1, ..., 𝑐𝑖𝑚]) ⟦VN⟧ = ⨂ 𝒊 ↦(𝟏 ↦ 𝒄𝒊𝟏, ..., 𝒎 ↦ 𝒄𝒊𝒎)∈VN ⟦𝑖 ↦ (1 ↦ 𝑐𝑖1, ..., 𝑚↦ 𝑐𝑖𝑚)⟧ ⟦VNC⟧ = ⟦{𝑐𝑖𝑚 ↦ 𝑚, ..., 𝑐𝑖1 ↦1}⟧ = 𝑣𝑛𝑐 ( [𝑐𝑖𝑚, ..., 𝑐𝑖1], 𝑚) onde 𝑚 = |VNC| = 𝑚𝑎𝑥(𝑟𝑎𝑛(VNC)). Se VNC= ∅ então ⟦VNC⟧ = 𝑣𝑛𝑐([], 𝟎). ⟦𝑐 ↦ 𝑛⟧ = 𝑣𝑐(𝑐, 𝑛) ⟦VC⟧ = ⨂ 𝑐↦𝑛∈VC ⟦𝑐 ↦ 𝑛⟧
⟦EL⟧ = 𝑒𝑙(𝑤, 𝑛) onde 𝑤 é a lista concatenando os elementos do 𝑑𝑜𝑚(EL), e {𝑛} = 𝑟𝑎𝑛(EL). Note que |𝑟𝑎𝑛(EL)| ≤ 1, assim, se EL= ∅ então ⟦EL⟧ = 𝑒𝑙([], 𝟎).
⟦⟨VN;VNC;VC;EL⟩⟧ = sc(𝑣, 𝑝)⊗⟦VN⟧ ⊗ ⟦VNC⟧ ⊗ ⟦VC⟧ ⊗ ⟦EL⟧ Onde 𝑣 = |VN| e 𝑝 = |VC|.
O predicado 𝑠𝑐(𝑣, 𝑝)tem função equivalente ao encontrado na especificação lógica do ST-
FPTP, fazendo controle nos passos lógicos de modo a saber se está na ação CONT ou DETVC. Antes de definir as regras de transição no sistema lógico, lembre-se que no estado inicial todos os candidatos têm zero votos totalizados, VNC está vazio, e a lista de eleitos está vazia. Assim, os componentes que formam o estado inicial são codificados como:
⟦VC⟧ = ⨂
𝑐↦0∈VC
⟦VNC⟧ = vnc([], 𝟎) ⟦EL⟧ = el([], 𝟎)
Inicialmente, espera-se VN como um entrada não vazia, ou seja, que no estado inicial tenha- se ao menos uma cédula de votação.
Observe que na codificação lógica seguinte, por questão de simplicidade, as operações arit- méticas relacionadas a soma dos pontos dos candidatos são realizadas através do operador infixo de soma "+", e os números utilizados nessa operação serão apresentados na sua forma usual.
Definição 4.5.3. Seja 𝑣 o número de cédulas não contadas, 𝑝 o número de candidatos que ainda
estão na disputa, 𝑙 uma lista de candidatos por ordem de preferência, 𝑚 o tamanho da lista
𝑙, 𝑐 um candidato qualquer, 𝑛 numero de votos do candidato 𝑐, 𝑤 uma lista que mantém os
candidatos com maior número de votos, 𝑛′ números de votos recebidos pelos candidatos da
lista 𝑤. Uma codificação das regras de transição de estado do ST-CB é definida por
⟦ CONT ⟧ || ∃𝑣, ∃𝑝, ∃𝑛, ∃𝑙( (sc(𝑠𝑢𝑐(𝑣), 𝑝)⊗vn(𝑙)⊗ 𝑣𝑛𝑐([], 𝟎))⊗ ( sc(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙)⊥) ) ⊕ ∃𝑐, ∃𝑛, ∃𝑙, ∃𝑚 ( ( vnc(𝑐::𝑙, 𝑠𝑢𝑐(𝑚))⊗ 𝑣𝑐(𝑐, 𝑛))⊗ ( vnc(𝑙, 𝑚)⊥`vc(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ ) ) ⟦ DETVC ⟧ || ∃𝑝, ∃𝑐, ∃𝑛( (sc(𝟎, 𝑠𝑢𝑐(𝑝))⊗vnc([], 𝟎)⊗vc(𝑐, 𝑛)⊗el([], 𝟎))⊗ ( sc(𝟎, 𝑝)⊥` el([𝑐], 𝑛)⊥ ) ) ⊕ ∃𝑝, ∃𝑐, ∃𝑤, ∃𝑛( (sc(𝟎, 𝑠𝑢𝑐(𝑝))⊗vc(𝑐, 𝑛)⊗el(𝑤, 𝑛))⊗ ( sc(𝟎, 𝑝)⊥`el(𝑐::𝑤, 𝑛)⊥ ) ) ⊕ ∃𝑝, ∃𝑐, ∃𝑤, ∃𝑛, ∃𝑛′ ( ( sc(𝟎, 𝑠𝑢𝑐(𝑝))⊗vc(𝑐, 𝑛)⊗el(𝑤, 𝑛′)⊗(𝑛 > 𝑛′))⊗(sc(𝟎, 𝑝)⊥`el([𝑐], 𝑛)⊥) ) ⊕ ∃𝑝, ∃𝑐, ∃𝑤, ∃𝑛, ∃𝑛′ ( ( sc(𝟎, 𝑠𝑢𝑐(𝑝))⊗vc(𝑐, 𝑛)⊗el(𝑤, 𝑛′)⊗(𝑛′> 𝑛))⊗(sc(𝟎, 𝑝)⊥`el(𝑤, 𝑛′)⊥) )
Como da codificação do protocolo FPTP, de modo a simplificar a especificação, foi con- siderado que no contexto clássico (Θ) existem todos os pares que definem a relação > (maior que).
O teorema a seguir afirma que a codificação proposta nas definições 4.5.2 e 4.5.3 é adequada (correta), ou seja, que um passo no sistema focado corresponde exatamente a um passo no ST- CB. Todavia, ele considera apenas computações na qual uma cédula de votação tem sua lista de candidatos por ordem decrescente de preferência. No final deste capítulo, veremos que essa restrição não diminui seu nível de adequação. Assim como o protocolo anterior, átomos terão o comportamento positivo.
Teorema 4.5.3(Adequação - ST-CB). Seja Θ um conjunto de regras de transição do ST-CB,
e sejam 𝑠 e 𝑠′ dois estados do sistema. Então, 𝑠←←←←→ 𝑠←𝑎 ′, na qual a componente VNC é avaliada
por ordem decrescente das preferências, sse há uma derivação em LLF, partindo do sequente ⊢⟦Θ⟧ ∶ . ⇑ ⟦𝑠⟧⊥que leva ao sequente ⊢ ⟦Θ⟧ ∶ Γ ⇑ equivalente a codificação de 𝑠′. O nível de adequação é FCD, ou seja, que uma fase lógica focada corresponde exatamente ao movimento do estado 𝑠 para o estado 𝑠′.
Demonstração. Observe que ⟦𝑠⟧ aparece negado no sequente ⟦Θ⟧ ∶ . ⇑ ⟦𝑠⟧⊥. Como no pro-
tocolo anterior, a partir desse ponto, a fase negativa inicia, e a derivação apenas decompõe as fórmulas de ⟦𝑠⟧⊥, colocando-as separadas por vírgulas no contexto linear.
⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣′, 𝑝′)⊥,⟦VN⟧⊥,⟦VNC⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑
⊢⟦Θ⟧ ∶ . ⇑ 𝑠𝑐(𝑣′, 𝑝′)⊥` ⟦VN⟧⊥` ⟦VNC⟧⊥` ⟦VC⟧⊥` ⟦EL⟧⊥
(`)×,(𝑅 ⇑)×
Neste momento, poderia-se escolher a regra (𝐷1) e focar em ⟦𝑠⟧⊥. Todavia, por ⟦𝑠⟧⊥ ter sido decomposto em átomos negados, pela disciplina de focusing, essa escolha não e permitida. Assim, resta apenas utilizar a regra (𝐷2) e focar em uma regra do contexto clássico, ou seja, na codificação das regras do sistema de transição. Deste modo, têm-se dois casos:
Caso 1 : Focar na regra ⟦CONT⟧
Partindo do sequente formado no final da fase negativa, focando na fórmula ⟦CONT⟧ tem-se uma disjunção aditiva (⊕), de modo que há duas escolhas possíveis;
Subcaso 1
Se a escolha da disjunção (⊕) da regra CONT for a fórmula, ∃𝑣, ∃𝑝, ∃𝑛, ∃𝑙( (𝑠𝑐(𝑠𝑢𝑐(𝑣), 𝑝)⊗ 𝑣𝑛(𝑙)⊗ 𝑣𝑛𝑐([], 𝟎))⊗
(
𝑠𝑐(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙)⊥ ) ) tem-se, necessariamente, a seguinte derivação:
∶ Π1 Π∶2 ⊢ ⟦Θ⟧ ∶ 𝑠𝑐(𝑣′, 𝑝′)⊥,⟦VN⟧⊥,⟦VNC⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇓⟦CONT⟧ (⊕), (∃)×5,(⊗) ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣′, 𝑝′)⊥,⟦VN⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑ (𝐷2)
Na derivação acima, ao aplicar a regra (⊗), o contexto linear é divido em Γ′ e Γ′′ entre as derivações Π1e Π2respectivamente. Derivação de Π1 ⊢⟦Θ⟧ ∶ Γ′1 ⇓ 𝑠𝑐(𝑠𝑢𝑐(𝑣), 𝑝) (𝐼1) ⊢⟦Θ⟧ ∶ Γ′2⇓ 𝑣𝑛(𝑙)⊗ 𝑣𝑛𝑐([], 𝟎) (⊗), (𝐼1)×2 ⊢⟦Θ⟧ ∶ Γ′ ⇓ 𝑠𝑐(𝑠𝑢𝑐(𝑣), 𝑝)⊗ 𝑣𝑛(𝑙)⊗ 𝑣𝑛𝑐([], 𝟎) (⊗) em que Γ′ 1e Γ ′
2são obtidos a partir Γ ′.
Na derivação da esquerda, por ter um átomo positivo no lado direito do sequente, o foco não pode ser perdido. Assim, tem-se que ter Γ′
1 = {
𝑠𝑐(𝑣′, 𝑝′)⊥}e aplicar a regra (𝐼
1). Note que 𝑣′ só pode ser 𝑠𝑢𝑐(𝑣) e 𝑝′ = 𝑝. A derivação da direita continua de forma equivalente, tendo que ter Γ′
2 = {
𝑣𝑛(𝑙)⊥, 𝑣𝑛𝑐([], 𝟎)⊥}de modo que, após a aplicação da regra (⊗), as duas derivações restantes finalizem com a regra (𝐼1). Note que ⟦VNC⟧ foi codificado como 𝑣𝑛𝑐
(
[], 𝟎)que condiz com o estado de VNC antes que uma cédula tenha sido selecionada para contagem.
Derivação de Π2 ⊢⟦Θ⟧ ∶ Γ′′, 𝑠𝑐(𝑣, 𝑝)⊥, 𝑣𝑛𝑐(𝑙,#𝑙)⊥ ⇑ ⊢⟦Θ⟧ ∶ Γ′′ ⇑ 𝑠𝑐(𝑣, 𝑝)⊥, 𝑣𝑛𝑐(𝑙,#𝑙)⊥ (𝑅 ⇑)×2 ⊢⟦Θ⟧ ∶ Γ′′ ⇑ 𝑠𝑐(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙)⊥ (`) ⊢ ⟦Θ⟧ ∶ Γ′′ ⇓ 𝑠𝑐(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙)⊥ (𝑅 ⇓)
Na derivação de Π2, Γ′′é formado pelos átomos restantes, ou seja, ⟦VN
Lembre-se que ⟦VN⟧ = ⨂
𝒊 ↦(𝟏 ↦ 𝒄𝒊𝟏, ..., 𝒎 ↦ 𝒄𝒊𝒎)∈VN
vn([𝑐𝑖1, ..., 𝑐𝑖𝑚] )
, e que um desses elementos, 𝑣𝑛(𝑙),
foi usado na derivação de Π1, de modo que ⟦VN
′⟧ é o resultado de ⟦VN⟧ menos o átomo 𝑣𝑛(𝑙).
Seguindo a disciplina de focusing, como o lado direito contém uma fórmula negativa, o foco é perdido e, na fase negativa, os átomos são adicionados ao contexto linear. Reescrevendo a derivação Π2, explicitando os elementos de Γ′′ tem-se:
Derivação de Π2(explicitada) ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣, 𝑝)⊥,⟦VN′⟧⊥, 𝑣𝑛𝑐(𝑙,#𝑙)⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑ ⊢ ⟦Θ⟧ ∶ ⟦VN′⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑ 𝑠𝑐(𝑣, 𝑝)⊥, 𝑣𝑛𝑐(𝑙,#𝑙)⊥ (𝑅 ⇑)×2 ⊢ ⟦Θ⟧ ∶ ⟦VN′⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑ 𝑠𝑐(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙))⊥ (`) ⊢⟦Θ⟧ ∶ ⟦VN′⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇓ 𝑠𝑐(𝑣, 𝑝)⊥` 𝑣𝑛𝑐(𝑙,#𝑙)⊥ (𝑅 ⇓)
Observe que, partindo de ⟦𝑠⟧, ao final da derivação chega-se um contexto Γ em que apa- recem: ⟦VN′⟧ no lugar de ⟦VN]⟧, não aparecendo 𝑣𝑛(𝑙) que representa a cédula selecionada para contagem; 𝑣𝑛𝑐(𝑙,#𝑙)no lugar de 𝑣𝑛𝑐([], 𝟎); o predicado 𝑠𝑐(𝑣, 𝑝)no lugar de 𝑠𝑐(𝑠𝑢𝑐(𝑣), 𝑝) representando que o número de cédulas não contadas foi diminuído em uma unidade; e as outras componentes que aparecem inalteradas em relação ao estado ⟦𝑠⟧.
Portanto, focar em ⟦CONT⟧ na derivação, escolhendo a primeira opção da disjunção, cor- responde exatamente a selecionar uma cédula para contagem na urna, ou seja, 𝑠←←←←←←←←←←←←←←←←←←←←←←←←𝐶𝑂𝑁 𝑇→ 𝑠′ com
VN ≠ ∅ e VNC = ∅. Subcaso 2
Se a escolha na disjunção (⊕) da regra CONT for a fórmula,
∃𝑐, ∃𝑛, ∃𝑙, ∃𝑚
( (
𝑣𝑛𝑐(𝑐::𝑙, 𝑠𝑢𝑐(𝑚))⊗ 𝑣𝑐(𝑐, 𝑛))⊗(𝑣𝑛𝑐(𝑙, 𝑚)⊥` 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥) )
tem-se, necessariamente, a seguinte derivação:
∶ Π1 Π∶2 ⊢ ⟦Θ⟧ ∶ 𝑠𝑐(𝑣′, 𝑝′)⊥,⟦VN⟧⊥,⟦VNC⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇓⟦CONT⟧ (⊕), (∃)×4 ,(⊗) ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣′, 𝑝′)⊥,⟦VN⟧⊥,⟦VC⟧⊥,⟦EL⟧⊥ ⇑ (𝐷2)
derivações Π1e Π2respectivamente. Derivação de Π1 ⊢⟦Θ⟧ ∶ Γ′1 ⇓ 𝑣𝑛𝑐(𝑐::𝑙, 𝑠𝑢𝑐(𝑚)) (𝐼1) ⊢⟦Θ⟧ ∶ Γ′2 ⇓ 𝑣𝑐(𝑐, 𝑛) (𝐼1) ⊢⟦Θ⟧ ∶ Γ′ ⇓ 𝑣𝑛𝑐(𝑐::𝑙, 𝑠𝑢𝑐(𝑚))⊗ 𝑣𝑐(𝑐, 𝑛) (⊗) em que Γ′ 1e Γ ′
2são obtidos a partir Γ ′.
Na derivação da esquerda, por ter um átomo positivo no lado direito do sequente, o foco não pode ser perdido. Assim, tem-se que ter Γ′
1 = {
𝑣𝑛𝑐(𝑐::𝑙, 𝑠𝑢𝑐(𝑚))}e aplicar a regra (𝐼1). A derivação da direita continua de forma equivalente, tendo que ter Γ′
2= {
𝑣𝑐(𝑐, 𝑛)}de modo que
finalizem com a regra (𝐼1). Note que ⟦VNC⟧ foi codificado como 𝑣𝑛𝑐 (
𝑐::𝑙, 𝑠𝑢𝑐(𝑚))que condiz
com o estado atual onde existem candidatos em VNC. Derivação de Π2 ⊢⟦Θ⟧ ∶ Γ′′, 𝑣𝑛𝑐(𝑙, 𝑚)⊥, 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ ⇑ ⊢⟦Θ⟧ ∶ Γ′′ ⇑ 𝑣𝑛𝑐(𝑙, 𝑚)⊥, 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (𝑅 ⇑)×2 ⊢⟦Θ⟧ ∶ Γ′′ ⇑ 𝑣𝑛𝑐(𝑙, 𝑚)⊥` 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (`) ⊢ ⟦Θ⟧ ∶ Γ′′ ⇓ 𝑣𝑛𝑐(𝑙, 𝑚)⊥` 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (𝑅 ⇓)
Na derivação de Π2, Γ′′é formado pelos átomos restantes, ou seja, 𝑠𝑐 (
𝑣, 𝑝)⊥,⟦VN⟧⊥, ⟦VC′⟧⊥, ⟦EL⟧⊥. Lembre-se que ⟦VC⟧ = ⨂
𝑐↦𝑛∈VC
⟦𝑐 ↦ 𝑛⟧, e que um desses elementos, 𝑣𝑐(𝑐, 𝑛), foi usado na derivação de Π1, de modo que ⟦VC
′⟧ é o resultado de ⟦VC⟧ menos o átomo 𝑣𝑐(𝑐, 𝑛).
Seguindo a disciplina de focusing, como o lado direito contém uma fórmula negativa, o foco é perdido e, na fase negativa, os átomos são adicionados ao contexto linear. Reescrevendo a derivação Π2, explicitando os elementos de Γ′′ tem-se:
Derivação de Π2(explicitada) ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣, 𝑝)⊥,⟦VN⟧⊥, 𝑣𝑛𝑐(𝑙, 𝑚)⊥,⟦VC′⟧⊥, 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥,⟦EL⟧⊥ ⇑ ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣, 𝑝)⊥,⟦VN⟧⊥,⟦VC′⟧⊥,⟦EL⟧⊥ ⇑ 𝑣𝑛𝑐(𝑙, 𝑚)⊥, 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (𝑅 ⇑)×2 ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣, 𝑝)⊥,⟦VN⟧⊥,⟦VC′⟧⊥,⟦EL⟧⊥ ⇑ 𝑣𝑛𝑐(𝑙, 𝑚)⊥` 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (`) ⊢⟦Θ⟧ ∶ 𝑠𝑐(𝑣, 𝑝)⊥,⟦VN⟧⊥,⟦VC′⟧⊥,⟦EL⟧⊥ ⇓ 𝑣𝑛𝑐(𝑙, 𝑚)⊥` 𝑣𝑐(𝑐, 𝑛+ 𝑠𝑢𝑐(𝑚))⊥ (𝑅 ⇓)
Observe que, partindo de ⟦𝑠⟧, ao final da derivação chega-se um contexto Γ em que apa- recem: ⟦VC′⟧ no lugar de ⟦VC]⟧, na qual o predicado 𝑣𝑐(𝑐, 𝑛) foi substituído pelo predicado
𝑣𝑐(𝑐, 𝑛+𝑠𝑢𝑐(𝑚)); 𝑣𝑛𝑐(𝑙, 𝑚)no lugar de 𝑣𝑛𝑐(𝑐::𝑙, 𝑠𝑢𝑐(𝑚)); enquanto que as outras componentes
aparecem inalteradas em relação ao estado de partida ⟦𝑠⟧.
Portanto, focar em ⟦CONT⟧ na derivação, escolhendo a segunda opção da disjunção, cor- responde exatamente a retirar o candidato de maior preferência da lista VNC, adicionando ao seu total de votos, os pontos calculados conforme sua preferência. Isso equivale a transição
𝑠←←←←←←←←←←←←←←←←←←←←←←←←𝐶𝑂𝑁 𝑇→ 𝑠′com VNC≠ ∅ do ST-CB. Observe que na codificação lógica, a lista em VNC man- tém os candidatos ordenados pelos seus pontos (quanto mais a esquerda, maior a sua pontuação). Isso se deve ao fato de que as regras lógica da transição baseia-se nessa ordem para calcular a pontuação do candidato. No sistema de transição, não é necessário preservar essa ordem, visto que, independente do candidato que se escolher na cédula para contar, o resultado final é o mesmo.
Caso 2: Focar na regra ⟦DETVC⟧
Nesta etapa, o protocolo se comporta de maneira equivalente ao protocolo anterior (FPTP). Note que a diferença está apenas no estado que inicia a etapa de determinação do vencedor, ou seja, a existência no contexto do predicado 𝑣𝑛𝑐([], 𝟎). Todavia, logo na primeira transição desta etapa ele é descartado. Deste momento em diante, o ST-CB se comporta da mesma maneira que o ST-FPTP.
É importante observar que na fase de contagem da codificação lógica, no predicado 𝑣𝑛𝑐(𝑙, 𝑚),
a lista 𝑙 aparece ordenada pela pontuação dos candidatos, de modo que, quanto mais a esquerda da lista, maior a pontuação atribuída ao candidato. Vale observar que no sistema de transição essa é apenas uma das computações possíveis, por isso o enunciado do teorema restringe a uma determinada computação. Todavia, como visto anteriormente, o ST-CB sempre termina e é con- fluente. Isto quer dizer que não importa a computação escolhida, o resultado sempre será o mesmo.
Como visto na prova da adequação, um passo focado corresponde a exatamente uma tran- sição no ST-CB, em uma correspondência um-a-um.
4.6
Discussão sobre a Codificação Lógica
As codificações propostas neste capítulo tiveram como ponto de partida o texto sobre pro- tocolos de votação em lógica linear encontrado em (DEYOUNG; SCHÜRMANN, 2011). Porém,
neste trabalho, além da modelagem do protocolo de contagem de Borda, algumas mudanças fo- ram adotadas. Em nossa especificação, há a possibilidade de haver empate entre os candidatos,
de modo que, ao final de uma prova, uma lista de candidatos ganhadores pode ser encontrada. Junto a isso, a quantidade de votos recebidos pelos candidatos eleitos está disponível no final do processo, permitindo assim, uma melhor verificação no final da apuração. Desde que a especifi- cação lógica esteja diretamente relacionada com o sistema de transição de estado do protocolo, é possível trilhar cada etapa dos processos envolvidos durante a execução do protocolo (note que a própria lógica pode ser usada para especificar e verificar esses processos). A disciplina de
focusing garante que esses passos ocorram de forma coordenada.
No próximo capítulo, serão apresentadas algumas propriedades referentes aos protocolos de votação descritos neste capítulo. Algumas dessas propriedades podem ou não serem satisfeitas por esses protocolos.