Слова із подвійним значенням: визначення, приклади вживання. Багаторазові виміри однієї й тієї ж величини одним і тим же способом можуть дати різні її значення. Приклади багатозначних іменників



vote usa (6)

Чи існує спосіб компіляції для виявлення/запобігання дублювання значень у перерахуванні C/C++?

Виверт полягає в тому, що Існує кілька елементів, які ініціалізуються явними значеннями .

Задній план:

Я успадкував деякий код C, наприклад:

#define BASE1_VAL(5) #define BASE2_VAL(7) 7 again... MsgFoo2B // Uh oh! 8 again... ) FOO ;

Проблема полягає в тому, що в міру того, як код зростає, і оскільки розробники додають більше повідомлень до групи MsgFoo1x, в кінцевому підсумку він переповнює BASE2_VAL.

Цей код в кінцевому підсумку буде перенесено на C++, тому, якщо є тільки C++-рішення (магія шаблону?), це нормально - але рішення, яке працює з C і C++, краще.

Є кілька способів, щоб перевірити цей час компіляції, але вони можуть не завжди працювати на вас. Почніть з вставки значення маркера маркер прямо перед MsgFoo2A.

typedef enum (MsgFoo1A = BASE1_VAL, MsgFoo1B, MsgFoo1C, MsgFoo1D, MsgFoo1E, /* Don't use this value, but leave it here. */ MsgFoo2A = BASE2_VAL, MsgFoo2B) FOO;

Тепер нам потрібний спосіб гарантувати, що MARKER_1_DONT_USE< BASE2_VAL во время компиляции. Есть два распространенных метода.

Масиви негативного розміру

Помилка оголошення масиву із негативним розміром. Це виглядає трохи потворно, але це працює.

extern int IGNORE_ENUM_CHECK [ MARKER_1_DONT_USE > BASE2_VAL ? - 1: 1];

Майже кожен компілятор, коли-небудь написаний, створює помилку, якщо MARKER_1_DONT_USE більше, ніж BASE_2_VAL. GCC випльовує:

test. c : 16 : error : size of array ‘ IGNORE_ENUM_CHECK ’ is negative

Статичні твердження

Якщо компілятор підтримує C11, ви можете використовувати _Static_assert . Підтримка C11 не є всюдисущою, але ваш компілятор може підтримувати _Static_assert у будь-якому випадку, тим більше, що відповідна функція на C++ широко підтримується.

_Static_assert (MARKER_1_DONT_USE< BASE2_VAL , "Enum values overlap." );

GCC видає таке повідомлення:

test. c : 16 : 1 : error : static assertion failed : "Enum values ​​overlap." _Static_assert (MARKER_1_DONT_USE< BASE2_VAL , "Enum values overlap." ); ^

Інший підхід може полягати в тому, щоб використовувати щось подібне до gccxml (або зручніше pygccxml) для ідентифікації кандидатів для ручного огляду.

Я нічого не знаю про те, що автоматично перевірятиме всіх членів перерахування, але якщо ви хочете перевірити, що майбутні зміни в ініціалізаторах (або макроси, на які вони покладаються) не викликають конфліктів:

switch (0 ) ( case MsgFoo1A : break ; case MsgFoo1B : break ; case MsgFoo1C : break ; case MsgFoo1D : break ; case MsgFoo1E : break ;

призведе до помилки компілятора, якщо якесь із інтегральних значень буде повторно використано, і більшість компіляторів навіть скажуть вам, яке значення (числове значення) було проблемою.

Я не вірю, що є спосіб виявити це з мовою, враховуючи, що існують можливі випадки, коли ви хочете, щоб два значення перерахування були однаковими. Проте ви завжди можете переконатися, що всі явно задані елементи знаходяться у верхній частині списку:

typedef enum ( MsgFoo1A = BASE1_VAL , // 5 MsgFoo2A = BASE2_VAL , // 7 MsgFoo1B , // 8 MsgFoo1C , // 9 MsgFoo1D , // 10 MsgFoo1E ,

Поки призначені значення знаходяться нагорі, зіткнення не відбувається, якщо з якоїсь причини макроси не розширюються до значень, які однакові.

Зазвичай ця проблема долається шляхом надання фіксованої кількості біт для кожної групи MsgFooX та забезпечення того, щоб кожна група не переповнювала, вона виділяє кількість біт. Рішення "Кількість біт" добре, тому що дозволяє порозрядному тестуванню визначити, до якої групи повідомлень щось належить. Але для цього немає вбудованої функції мови, тому що є законні випадки для перерахування, що має два однакові значення:

typedef enum ( gray = 4 , //Gry should be the same grey = 4 , color = 5 , //Also makes sense in some cases couleur = 5) FOO;

Хоча ми не маємо повної рефлексії, ви можете вирішити цю проблему, якщо ви можете відновити значення перерахування.

Десь це оголошено:

enum E (A = 0, B = 0);

в іншому місці ми будуємо цей механізм:

template< typename S , S s0 , S ... s >struct first_not_same_as_rest : std :: true_type(); template< typename S , S s0 , S s1 , S ... s >struct first_not_same_as_rest : std :: integral_constant< bool , (s0 != s1 ) && first_not_same_as_rest < S , s0 , s ... >:: value > (); template< typename S , S ... s >struct is_distinct:std::true_type(); template< typename S , S s0 , S ... s >struct is_distinct : std :: integral_constant< bool , std :: is_distinct < S , s ...>:: value && first_not_same_as_rest< S , s0 , s ... >:: value > ();

Коли ви маєте це обладнання (для якого потрібно C ++ 11), ми можемо зробити таке:

static_assert (is_distinct< E , A , B >:: value , "duplicate values ​​in E detected");

та під час компіляції ми гарантуємо, що немає двох елементів.

Це вимагає O(n) глибини рекурсії, а O(n^2) працює компілятором під час компіляції, тому для надзвичайно великих перерахувань це може спричинити проблеми. AO (lg (n)) і O (n lg (n)) працюють з набагато більшим постійним коефіцієнтом, можна зробити, спочатку відсортувавши список елементів, але це набагато більше.

З кодом перетворення enum, запропонованим для C++ 1y-C++17, це буде здійснено без повторення елементів.

Мені не сподобалася жодна з відповідей, вже опублікованих тут, але вони дали мені кілька ідей. Найважливішим методом є використання відповіді Бена Войта на використання оператора switch. Якщо кілька випадків у комутаторі мають один і той самий номер, ви отримаєте помилку компіляції.

Найкорисніше для мене і, можливо, для оригінального плаката, це не потребує жодних можливостей C++.

Щоб очистити речі, я використав відповідь aaronps: Як я можу уникнути повторення себе при створенні списку C ++ та залежної структури даних?

Спочатку визначте це в деякому заголовку десь:

#define DEFINE_ENUM_VALUE (name, value) name = value, #define CHECK_ENUM_VALUE (name, value) case name: #define DEFINE_ENUM #define CHECK_ENUM (enum_name , enum_values ​​) \ void enum_name ## _test (void) ( switch(0) ( enum_values(CHECK_ENUM_VALUE); ) )

Тепер, коли вам потрібно мати перелік:

#define COLOR_VALUES (GEN ) \ GEN (Red , 1 ) \ GEN (Green , 2 ) \ GEN (Blue , 2 )

Нарешті ці рядки необхідні для фактичного перерахування:

DEFINE_ENUM (Color , COLOR_VALUES ) CHECK_ENUM (Color , COLOR_VALUES )

DEFINE_ENUM створює тип даних перерахунку. CHECK_ENUM виконує функцію тестування, яка містить усі значення перерахування. Компілятор буде збій при компіляції CHECK_ENUM, якщо у вас є дублікати.

Проаналізуємо ситуацію, що склалася.

Спочатку з'ясуємо, чому різні способи вимірювання однієї й тієї ж висоти сприяли різним результатам.

На перший погляд, перший спосіб є надійним. Ми прикладаємо стрічку рулетки до поверхні будівлі та визначаємо шукану висоту. Уважніший аналіз показує, що це не зовсім так. Виявляється, будівля має невеликий нахил, а стіна в тому місці, де проводяться виміри, має певну кривизну - вона опукла, причому у бік вулиці. Це означає, що ми вимірювали не висоту будівлі, а довжину стіни, пов'язану з висотою.

Другий спосіб є непрямим виміром. Вимірявши час падіння кульки, ми розраховуємо висоту за відомою формулою для вільного падіння: h = gt 2/2. Цього разу вимір справді стосується висоти. Але, ми забули у тому, що кулька рухається повітря і, отже, відчуває опір середовища. Тому розрахована за формулою величина також є справжнім значенням висоти будівлі.

Третій вимір, як і другий, є непрямим. Висота визначається з геометричних міркувань: прямокутному трикутникудовжина протилежного катета дорівнює добутку довжини прилеглого катета на тангенс кута. У разі висота грає роль одного катета, а відстань від лазера до будівлі – роль іншого. Цього разу нас підвело припущення про ідеально горизонтальну поверхню, на якій стоїть будівля. Результат - знову виміряли величину, яка не є висотою, але тепер з іншої причини.

Отже, у кожному способі є якісь постійні фактори(у кожному випадку свої, причому їх може бути кілька), які призводять до появи систематичної похибкивимірювання даним способом. Щоразу при вимірі значення однієї й тієї ж величини в одних і тих самих умовах систематична похибка має одне й те саме значення. Якщо ці чинники врахувати, ввівши відповідні поправки, можна наблизитися до реального значення вимірюваної величини і тоді результати вимірів у різний спосіб (з урахуванням поправок на систематичну похибку) може бути досить близькими. Таким чином, в принципі, систематичні похибки можуть бути враховані і навіть виключені , Хоча здійснення цього практично може виявитися досить непростим завданням.

Тепер спробуємо з'ясувати, чому багаторазові вимірювання однієї і тієї ж висоти одним і тим же способом (включаючи один і той же комплект приладів) можуть призводити до значень, що відрізняються один від одного. Це пов'язано з цілим рядом факторів, що діють випадковим чином. У розглянутому прикладі можуть бути невеликі механічні коливанняґрунти, будівлі та приладів, теплові дії, пов'язані зі зміною лінійних розмірів стіни та використовуваних приладів тощо. Нарешті, є ще людський фактор, пов'язаний із сприйняттям процесів, що відбуваються, і реакцією на це сприйняття. В результаті, при повторних вимірах однієї і тієї ж величини можуть виходити різні її значення, пов'язані з випадковими похибками. Від виміру до виміру випадкова похибка може змінювати як свій знак, і свою величину. Через випадковий характер впливів заздалегідь передбачити величину такої похибки неможливо .



Наш аналіз викликає закономірні питання:

1. Що таке «справжнє» значення вимірюваної величини?

2. Як представляти результати вимірів з урахуванням похибок?

Оскільки ці питання стосуються не лише розглянутого прикладу, а й

та будь-яких інших вимірювань, ми перейдемо до узагальнення та вироблення загальних рекомендацій.

Наведений конкретний приклад продемонстрував загальна властивість, характерне для будь-яких вимірів, – будь-який вимір супроводжується похибками .

Ця властивість, зрештою, обумовлена ​​тим, що будь-який вимір передбачає певний взаємопов'язаний ланцюжок учасників процедури вимірювання: спостерігач – вимірювальний прилад – аналізований об'єкт – «зовнішнє середовище».

Елементи цього ланцюжка пов'язані величезною кількістювзаємодій та рухів. У процесі вимірювання аналізований об'єкт, вимірювальний прилад і спостерігач можуть бути схильні до різних впливів (у тому числі і взаємних), що й позначається на результаті вимірювань.

Безумовно, якщо зменшувати впливи, що не мають безпосереднього відношення до процедури вимірювання, і намагатися враховувати непереборні впливи, то точність наших вимірів зростатиме. Але абсолютно точне вимір неможливо принципово. І це багато в чому пов'язане з природою самих вимірюваних величин.



Якщо ми, наприклад, захочемо точно виміряти довжину металевого стрижня, то виявимо наявність принципово непереборних (хоч і дуже малих) коливань кристалічних ґрат. Жодної абсолютно точної «істинної» довжини у стрижня немає. Вона постійно випадковим чином змінюється, відхиляючись у той чи інший бік від деякого значення, що найбільш часто зустрічається. Ось це значення ми можемо прийняти за «справжнє» значення довжини і надалі оперувати саме з ним, говорячи про довжину стрижня, або використовуючи цю величину для розрахунків, наприклад, для визначення обсягу стрижня.

Такі ситуації виявляється у багатьох інших вимірів. Самі вимірювані величини випадково можуть змінюватися, що зумовлено, як сказано вище, фізичної природою цих величин. Таким чином, ми стикаємося з Важливою непереборністю випадкових факторів . Їх можна звести до мінімуму, але остаточно позбутися їх не можна. Отже, представляючи результати вимірів, ми повинні давати інформацію, що стосується нашої оцінки «істинного» значення величини з урахуванням випадкових похибок виміру (за умови, що систематичну похибку виключено або враховано у вигляді відповідної поправки). Зрозуміло, найбільш повно така інформація може бути представлена ​​за результатами багаторазових вимірювань.

Не рідкість у російській мові. Дуже часто одним і тим самим словом можна назвати і/або охарактеризувати різні предмети або явища. Подібні слова мають одне основне значення – початкове, буквальне, та одне (або більше) – переносне, фігуральне, метафоричне. Останнє, як правило, виникає на основі будь-якої ознаки, схожості, асоціації.

Приклади багатозначних іменників

Серед іменників можна знайти дуже багато прикладів слів із подвійним значенням. Ось лише деякі з них:

Слово Пряме значення Переносне значення
Квиток Квиток на літак чи поїзд, квиток у театр чи кіно. Екзаменаційний квиток.
Гребінець Інструмент для розчісування волосся, гребінець. Гребінець хвилі або гори.
Слово Мовна одиниця. Літературний жанр. Наприклад, "Слово про похід Ігорів".
Рука Частина тіла – права рука, ліва рука.
  • Посада, становище людини - "Він моя права рука".
  • "Почерк", манера виконання, відомий авторський штрих - "рука великого художника".
  • Фізична сила - "важка рука".
Пензлик Пензель руки - частина тіла від зап'ястя до кінчиків пальців. Інструмент для малювання фарб.
Робота Фізичний працю, зусилля, рід занять людини. Видимий результат фізичної праці – "Гарна робота!".
Аркуш Аркуш, що росте на дереві. Аркуш паперу, зошитовий або альбомний лист.
Корінь Корінь дерева. Частина дерева знаходиться під землею.
  • Математичний корінь із числа. Наприклад, корінь числа 4 – це 2.
  • Причина якогось явища чи події – "корінь зла", "корінь проблем".
Борг Грошова сума чи матеріальна цінність, обіцяна однією людиною іншому, результат запозичення. Моральне прагнення чогось, моральний обов'язок.

Це далеко не весь перелік. Скласти весь, напевно, просто неможливо, адже слів із подвійним значенням у російській майже так само багато, як і однозначних.

Приклади багатозначних прикметників

Різні предметиодним словом можна назвати, а й охарактеризувати. Ось кілька прикладів таких слів:

Слово Пряме значення Переносне значення
Сталевий Виготовлений із сталі. Наприклад, сталевий ніж. Дуже міцний, непохитний - "сталеві нерви".
Золотий Зроблений із золота - "золоті сережки", "золоте кольє". Дуже цінний, добрий, що володіє видатними моральними якостями- "золота людина", "золота дитина", "золоте серце".
Важкий Той, хто забирає велику кількість фізичних зусиль - "важка робота". Щось, що важко терпіти оточуючим - " важка людина " , " важкий характер " .
Білий Білого кольору – "білий сніг", "білий лист". Вірш без рими – "білий вірш".
Чорний Чорного кольору – "чорні очі", "чорний маркер". Злий, саркастичний, що торкається делікатних тем у грубій формі - "чорний гумор", "чорна комедія".

Знову ж таки, список неповний. Крім того, до переліку слів з подвійним значенням можна віднести прикметники, що описують одночасно кольори, запахи та/або смаки: апельсиновий, малиновий, лимонний, сливовий тощо.

Приклади багатозначних дієслів

Слова-дії теж можуть мати більше одного значення:

Слово Пряме значення Переносне значення
Сідати Сідати на стілець, у крісло, на коня. Сідати на поїзд (не в прямому сенсі сідати на дах поїзда, а в переносному – займати у ньому своє місце).
Зійти/сходити Можна зійти з поїзда, зійти на потрібну зупинку, сходити в магазин. "Зійти / божеволіти".
Бити Завдавати ударів. "Джерельце б'є фонтаном", "життя б'є ключем".
Різати Розділяти на шматки за допомогою ножа чи іншого гострого леза. Викликати неприємне відчуття - "світло ріже очі", "звук ріже слух".

Найчастіше слова з подвійним значенням - це слова споконвіку російські. У запозичених термінів значення зазвичай одне.

Відмінності від омонімів

Дуже важливо відрізняти слова з подвійним значенням від омонімів: різних слів, які пишуться однаково. У багатозначних слівє пряме, основне значення, і перенесене за якоюсь ознакою. У омонімів всі значення самостійні. "Ручка" (дверна) і "Ручка" (пишуча) - це омоніми, так як між ними немає зв'язку. А ось слово "супутник" багатозначне - небесне тіло назвали "супутником", тому що воно рухається навколо планети, подібно до супутника-людини.

Із самого визначення знака вже ясно, що основною його характеристикою є властива йому репрезентативна функція: бути представником, або заступником у даній мові будь-якого (певного) об'єкта. І це – значеннязнак. Значенням словесних знаків можуть бути об'єкти широкому значенніслова – все, що може бути якось виділено та названо, про що щось стверджується чи заперечується. Слід звернути увагу на те, що як значення виступають насамперед об'єкти позамовної дійсності – природної та соціальної. Іншою суттєвою характеристикою словесного знака є його сенс. Сенсмовного вираження-це пов'язана з ним словесна оформлена інформація, яка дозволяє виділити об'єкт (або безліч однотипних об'єктів), що представляється ним, серед інших об'єктів. Наприклад, сенс слова «Місяць» – у звичайному його вживанні – може становити така його характеристика як «природний супутник Землі»; значення пропозиції німецької мови «DerSchneeistwei» у російській мові відтворюється пропозицією «Сніг біл»; сенс слова «крадіжка» – «таємне розкрадання чужого майна» тощо.

Зазначимо, що для одного і того ж об'єкта (або безлічі об'єктів) можливі різні характеристики, що виділяють. Це означає, що два різних вирази можуть мати різні сенси, але те саме значення, наприклад, «рівнокутний трикутник» і «рівносторонній трикутник». Слова (або словосполучення) з одним і тим самим значенням називають рівнозначнимиКрім того, одне й те саме слово може мати кілька значень і, отже, висловлювати різні поняття(Сенси). Таке явище називають багатозначністю. Багатозначність слів недоречна у науковому та професійному спілкуванні.

Сенс є сполучною ланкою між словом і позначається ним об'єктом. Надання сенсу деякому мовному висловлюванню є важливим логічним способом запровадження нових термінів у мову та уточнення значень вже існуючих у ньому слів.

Говорячи про сенс, ми матимемо на увазі прямийсенс слів і словосполучень, на відміну, наприклад, від непрямого, переносного («біле золото», «чорне золото», «летить на крилах кохання» та інших. метафоричні висловлювання, що вказують лише певне подібність одних предметів, процесів, явищ коїться з іншими). Прямий сенс треба відрізняти також від «буквального», або етимологічногосенсу («географія» буквально означає опис Землі, «брехати» буквально означає «говорити», «розмовляти» тощо).

Щодо сенсу та значення у логіці прийнято вважати, що значення знака є функцією його сенсу. Цим підкреслюється особлива роль сенсу: він однозначно вказує на об'єкт, що позначається знаком, подумки виділяючи його з багатьох інших.

Зрозуміло, як і суспільство, і кожна окрема людина повинні мати певний запас слів, які співвіднесені зі своїми значеннями без сенсу. Тут ми маємо вживання слів як знаків, зв'язок зі значеннями яких встановлюється в процесі вимовлення слова та одночасного чуттєвого сприйняття його значення, наприклад, кольору («червоний»), запаху, просторової конфігурації предмета, що позначається і т.п.

Кожному відоме розподіл виразів природної мови на частині мови. У логічній «граматиці» існує аналогічне підрозділ, але з іншого підставі, зокрема, залежно від типу що представляють словами (чи словосполученнями) об'єктів думки.

До першого типу об'єктів належать одиничні предмети. Одиничними предметами ми вважатимемо такі об'єкти пізнання, кожен із яких має індивідуальне на відміну однотипних із нею об'єктів: число 7, одруження А.С. Пушкіна, Місяць тощо. Відповідна поодиноким предметам логічна категорія мовних виразів – одиничні імена.Їх змістом є пов'язана з ними інформація, що дозволяє однозначним чином виділити цей одиничний предмет з множини однотипних з ним предметів. Приклади таких імен: «Петро 1», «Цьогорічний президент РФ», «Автор роману «Євгеній Онєгін», «Святкування 66-ї річниці з Дня Перемоги над фашистською Німеччиною" і т.п. Одиничні імена поділяються на описові (складні)і на неописові (прості)імена. Прикладами найпростіших (неописових) імен є слова «Еверест», «Ю.А. Гагарін», прикладами складних (описових) імен – «Перший льотчик-космонавт», «Найбільша річка в Європі».

Другий тип об'єктів - це властивості предметів та відносини між ними. Вирази, що представляють мовою такого роду об'єкти, ми назвемо універсаліями. Приклади універсалій: слово "стіл" у висловленні "Цей стіл - круглий"; слово «брат» у вигукуванні «Іван брат Петра»; слово "злочин" у висловленні "Крадіжка є злочином". Універсалія характеризується тим, що може виконувати у реченні двояку роль: 1) становити частину логічного «присудка», тобто. представляти приписуване предметам якесь властивість чи ставлення, як у прикладі «Цей стіл – круглий»; у цій функції універсалі будемо називати предикат; 2) бути логічним «підлягає», тобто. представляти у висловлюванні довільно взятий предмет деякої множини однотипних предметів, кожен з яких має відповідну властивість, як у прикладі «Будь-яке злочиннебезпечно суспільству». Такі універсалі називатимемо суб'єктами.

Третій тип об'єктів становлять ситуації (становище речей). Відповідну ситуаціям логічну категоріюмовних виразів складають оповідальні пропозиції.Наприклад, наявність ситуації впадання Волги у Каспійське море відтворюється у реченні «Волга впадає в Каспійське море», а ситуації рівності суми кутів трикутника 180° – у реченні «Сума кутів трикутника дорівнює 2d» тощо. Ситуації може бути простими чи складними – залежно від цього, чи є простими чи складними які їх пропозиції. Приклади складних речень і, відповідно, ситуацій: «Якщо число ділиться на 6, воно ділиться на 2»; «Ян та його батько перебували в цей час удома».

Сенс речення складає судження. Відмінність судження від речення (як знакової форми судження) можна побачити, коли ми порівнюємо дві речення, які є правильними перекладами з однієї природної мови на іншу: знакові структури різні, а зміст їх – той самий. Сенс реченняі є судження. Оскільки мова у нас йде про логічний аналіз мови, значенням пропозиції вважається якийсь із абстрактних об'єктів істинаабо брехня.Так, вислів «Волга впадає в Каспійське море» позначає істину (оскільки ця пропозиція відтворює ситуацію, що має місце насправді), а висловлювання «Волга впадає в Чорне море» – брехня (оскільки не відповідає дійсності).

Кожна наука має специфічні нею терміни. Можна говорити про математичні терміни: "число", "геометрична фігура", "множина"; існують фізичні терміни, такі як "маса", "елементарна частка", "електричний заряд"; у біології фігурують терміни «клітина», «організм», «спадковість»; у медицині - "симптом", "синдром", "хвороба"; в юриспруденції - "правова норма", "злочин", "крадіжка". Ці вирази становлять категорію дескриптивних термінів(Лат. дескрипція - опис), за кожним з яких стоїть конкретний об'єкт, будь-яка властивість або безліч однотипних предметів, і т. п. У нашому аналізі дескриптивними термінами є імена та універсалі.

У мові будь-якої науки крім дескриптивних термінів, що характеризують об'єкти її власної предметної області, використовуються висловлювання, що використовуються у всіх науках. До них відносяться деякі з частинок і спілок, такі як "і", "або", "якщо, то", "невірно, що", "тоді, і тільки тоді". За допомогою цих термінів із простих висловлювань (суджень) утворюються складні (складові). У цю ж групу «міждисциплінарних» термінів входять вирази «є» («суть»), «все» («кожен»), «деякі» («існують»), «ні», за допомогою яких будуються прості одиничні та множинні ( загальні та приватні) судження. Вони складають категорію логічних термінів(логічні константи).

Без логічних термінів може бути виражено жодне судження. Вони визначають їх гранично загальну структурулогічну форму, з ними пов'язані логічні відносинита закони логіки. Деякі з цих термінів іноді опускаються з метою стислості мови, як, наприклад, у висловлюванні «Людина – смертна». При логічному аналізі суджень ми зобов'язані відновити всі ці «перепустки», що дозволяє уточнити їхній логічний зміст, вирішити питання про їхню істинність чи хибність. Зокрема, наведене щойно висловлювання набуде такого вигляду: «Усі люди суть смертні». І хоча після такої реконструкції та поповнення ці пропозиції іноді стають дещо незграбними, думки, які вони виражають, набувають ясності та визначеності.