O ponto sobre os circuitos é que um circuito possui um número fixo de entradas. Isto significa que, para definir uma linguagem, precisamos de uma família de circuitos C0,C1,C2,… tal que o circuito Ci diz-lhe que strings de comprimento i estão no idioma, para cada i . Isso não exige que não deve haver qualquer relação entre a circuitos Ci e Ci+1 : eles pode ser completamente diferente. Em particular, para qualquer conjunto S⊆N , você pode definir declarar Ci=true sei∈S eCi=false parai∉S . Mesmo queS seja indecidível!
Por outro lado, um idioma está em P se houver uma única máquina de Turing que informa se todas as entradas possíveis de todos os comprimentos possíveis estão no idioma. Agora, você não pode jogar nenhum jogo engraçado sobre entradas de diferentes comprimentos.
Você está correto que possamos avaliar qualquer circuito fixo em P . Mas isso não é necessariamente suficiente para decidir uma linguagem em P/poly . Para fazer isso, primeiro precisamos calcular o comprimento da entrada, depois usá-lo para determinar qual circuito Ci precisamos avaliar e depois avaliar o circuito. Como mostra o exemplo acima, a parte "determinar qual circuito" pode nem ser computável, muito menos computável em tempo polinomial.